Skip to content

Commit 0057b8b

Browse files
authored
chore: prepare for 0.11.0 release (#479)
2 parents 7797998 + cafc6bb commit 0057b8b

File tree

16 files changed

+356
-233
lines changed

16 files changed

+356
-233
lines changed

CHANGELOG.md

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,38 @@
1-
# v0.10.1 - 2025-0214
1+
# v0.11.0 - 2025-03-08
2+
3+
## Breaking changes
4+
5+
* Footer templates are now sanitized, and any variables surrounded in braces that aren't supported (e.g. `{potato}`) will now cause _presenterm_ to display an error. If you'd like to use braces in contexts where you're not trying to reference a variable you can use double braces, e.g. `live at {{PotatoConf}}` ([#442](https://github.com/mfontanini/presenterm/issues/442)) ([#467](https://github.com/mfontanini/presenterm/issues/467)) ([#469](https://github.com/mfontanini/presenterm/issues/469)) ([#471](https://github.com/mfontanini/presenterm/issues/471)).
6+
7+
## New features
8+
9+
* [Add support for kitty's font size protocol](https://mfontanini.github.io/presenterm/features/introduction.html#font-sizes). This is now used by default in built in themes in a few components such as the intro slide's title and slide titles. See the [example presentation gif](https://github.com/mfontanini/presenterm/blob/master/docs/src/assets/demo.gif) to check out how this looks like. Terminal suport for this feature is detected on startup and will be ignored if unsupported. This requires _kitty_ >= 0.40.0 ([#438](https://github.com/mfontanini/presenterm/issues/438)) ([#460](https://github.com/mfontanini/presenterm/issues/460)) ([#470](https://github.com/mfontanini/presenterm/issues/470)).
10+
* [Allow specifying font size in a comment command](https://mfontanini.github.io/presenterm/features/commands.html#font-sizes), which causes any subsequent text in a slide to use the specified font size. Just like the above, only supported in _kitty_ >= 0.40.0 for now ([#458](https://github.com/mfontanini/presenterm/issues/458)).
11+
* [Footers can now contain images](https://mfontanini.github.io/presenterm/features/themes/definition.html#footer-images) in the left and center components. This allows including some form of branding/company logo to your presentations ([#450](https://github.com/mfontanini/presenterm/issues/450)) ([#476](https://github.com/mfontanini/presenterm/issues/476)).
12+
* [Footers can now contain inline markdown](https://mfontanini.github.io/presenterm/features/themes/definition.html#template-footers), which allows using bold, italics, `<span>` tags for colors, etc ([#466](https://github.com/mfontanini/presenterm/issues/466)).
13+
* [Presentation titles can now contain inline markdown](https://mfontanini.github.io/presenterm/features/introduction.html#introduction-slide) ([#464](https://github.com/mfontanini/presenterm/issues/464)).
14+
* [Introduce palette.classes in themes](https://mfontanini.github.io/presenterm/features/themes/definition.html#color-palette) to allow specifying combinations of foreground/background colors that can be referenced via the `class` attribute in `<span>` tags ([#468](https://github.com/mfontanini/presenterm/issues/468)).
15+
* It's now possible to [configure the alignment](https://mfontanini.github.io/presenterm/configuration/settings.html#maximum-presentation-width) to use when `max_columns` is configured and the terminal width is larger than it ([#475](https://github.com/mfontanini/presenterm/issues/475)).
16+
* Add support for wikilinks ([#448](https://github.com/mfontanini/presenterm/issues/448)).
17+
18+
## Fixes
19+
20+
* Don't get stuck if tmux doesn't passthrough ([#456](https://github.com/mfontanini/presenterm/issues/456)).
21+
* Don't squash image if terminal's font aspect ratio is not 2:1 ([#446](https://github.com/mfontanini/presenterm/issues/446)).
22+
* Fail if `--config-file` points to non existent file ([#474](https://github.com/mfontanini/presenterm/issues/474)).
23+
* Use right script name for kotlin files when executing ([#462](https://github.com/mfontanini/presenterm/issues/462)).
24+
* Respect lists that start at non 1 indexes ([#459](https://github.com/mfontanini/presenterm/issues/459)).
25+
* Jump to right slide on code attribute change ([#478](https://github.com/mfontanini/presenterm/issues/478)).
26+
27+
## Improvements
28+
29+
* Remove `result` return type from builder fns that don't need it ([#465](https://github.com/mfontanini/presenterm/issues/465)).
30+
* Refactor theme code ([#463](https://github.com/mfontanini/presenterm/issues/463)).
31+
* Restructure `terminal` code and add test for margins/layouts ([#443](https://github.com/mfontanini/presenterm/issues/443)).
32+
* Use `fastrand` instead of `rand` ([#441](https://github.com/mfontanini/presenterm/issues/441)).
33+
* Avoid cloning strings when styling them ([#440](https://github.com/mfontanini/presenterm/issues/440)).
34+
35+
# v0.10.1 - 2025-02-14
236

337
## Fixes
438

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ authors = ["Matias Fontanini"]
44
description = "A terminal slideshow presentation tool"
55
repository = "https://github.com/mfontanini/presenterm"
66
license = "BSD-2-Clause"
7-
version = "0.10.0"
7+
version = "0.11.0"
88
edition = "2021"
99

1010
[dependencies]

README.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,9 @@ presenterm
1616
[scoop-package]: https://scoop.sh/#/apps?q=presenterm&id=a462290f824b50f180afbaa6d8c7c1e6e0952e3a
1717

1818
_presenterm_ lets you create presentations in markdown format and run them from your terminal, with support for image
19-
and animated gifs, highly customizable themes, code highlighting, exporting presentations into PDF format, and
20-
plenty of other features. This is how the [demo presentation](/examples/demo.md) looks like:
19+
and animated gifs, highly customizable themes, code highlighting, exporting presentations into PDF format, and plenty of
20+
other features. This is how the [demo presentation](/examples/demo.md) looks like when running in the [kitty
21+
terminal](https://sw.kovidgoyal.net/kitty/):
2122

2223
![](/docs/src/assets/demo.gif)
2324

@@ -35,6 +36,7 @@ Visit the [documentation][docs-introduction] to get started.
3536
slide, etc. Several [built-in themes][docs-builtin-themes] can give your presentation the look you want without
3637
having to define your own.
3738
* Code highlighting for a [wide list of programming languages][docs-code-highlight].
39+
* [Font sizes][docs-font-sizes] for terminals that support them.
3840
* [Selective/dynamic][docs-selective-highlight] code highlighting that only highlights portions of code at a time.
3941
* [Column layouts][docs-layout].
4042
* [mermaid graph rendering][docs-mermaid].
@@ -56,6 +58,7 @@ See the [introduction page][docs-introduction] to learn more.
5658
[docs-basics]: https://mfontanini.github.io/presenterm/features/introduction.html
5759
[docs-intro-slide]: https://mfontanini.github.io/presenterm/features/introduction.html#introduction-slide
5860
[docs-slide-titles]: https://mfontanini.github.io/presenterm/features/introduction.html#slide-titles
61+
[docs-font-sizes]: https://mfontanini.github.io/presenterm/features/introduction.html#font-sizes
5962
[docs-pauses]: https://mfontanini.github.io/presenterm/features/commands.html#pauses
6063
[docs-images]: https://mfontanini.github.io/presenterm/features/images.html
6164
[docs-themes]: https://mfontanini.github.io/presenterm/features/themes/introduction.html

docs/src/assets/demo-image.png

-282 KB
Binary file not shown.

docs/src/assets/demo.gif

177 KB
Loading

docs/src/assets/example-footer.png

64.5 KB
Loading

docs/src/configuration/settings.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,16 @@ defaults:
5858
max_columns: 100
5959
```
6060

61+
If you would like your presentation to be left or right aligned instead of centered when the terminal is too wide, you
62+
can use the `max_columns_alignment` key:
63+
64+
65+
```yaml
66+
defaults:
67+
max_columns: 100
68+
max_columns_alignment: left
69+
```
70+
6171
# Key bindings
6272

6373
Key bindings that _presenterm_ uses can be manually configured in the config file via the `bindings` key. The following

docs/src/features/code/execution.md

Lines changed: 3 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -19,37 +19,10 @@ Code execution **must be explicitly enabled** by using either:
1919
* Setting the `snippet.exec.enable` property to `true` in your [_presenterm_ config
2020
file](../../configuration/settings.md#snippet-execution).
2121

22-
---
22+
Refer to [the table in the highlighting page](highlighting.md#code-highlighting) for the list of languages for which
23+
code execution is supported.
2324

24-
The list of languages that support execution are:
25-
26-
* bash
27-
* c++
28-
* c
29-
* fish
30-
* go
31-
* haskell
32-
* java
33-
* js
34-
* kotlin
35-
* lua
36-
* nushell
37-
* perl
38-
* php
39-
* python
40-
* r
41-
* ruby
42-
* rust
43-
* rust-script: this highlights as normal Rust but uses [rust-script](https://rust-script.org/) to execute the snippet so
44-
it lets you use dependencies.
45-
* sh
46-
* zsh
47-
* c#
48-
49-
If there's a language that is not in this list and you would like it to be supported, please [create an
50-
issue](https://github.com/mfontanini/presenterm/issues/new) providing details on how to compile (if necessary) and run
51-
snippets for that language. You can also configure how to run code snippet for a language locally in your [config
52-
file](../../configuration/settings.md#custom-snippet-executors).
25+
---
5326

5427
[![asciicast](https://asciinema.org/a/BbAY817esxagCgPtnKUwgYnHr.svg)](https://asciinema.org/a/BbAY817esxagCgPtnKUwgYnHr)
5528

docs/src/features/code/highlighting.md

Lines changed: 68 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -2,59 +2,74 @@
22

33
Code highlighting is supported for the following languages:
44

5-
* ada
6-
* asp
7-
* awk
8-
* bash
9-
* batchfile
10-
* C
11-
* cmake
12-
* crontab
13-
* C#
14-
* clojure
15-
* C++
16-
* CSS
17-
* D
18-
* diff
19-
* docker
20-
* dotenv
21-
* elixir
22-
* elm
23-
* erlang
24-
* go
25-
* haskell
26-
* HTML
27-
* java
28-
* javascript
29-
* json
30-
* kotlin
31-
* latex
32-
* lua
33-
* makefile
34-
* markdown
35-
* nix
36-
* ocaml
37-
* perl
38-
* php
39-
* protobuf
40-
* puppet
41-
* python
42-
* R
43-
* ruby
44-
* rust
45-
* scala
46-
* shell
47-
* sql
48-
* swift
49-
* svelte
50-
* tcl
51-
* toml
52-
* terraform
53-
* typescript
54-
* xml
55-
* yaml
56-
* vue
57-
* zig
5+
| Language | Execution support |
6+
| -----------|-------------------|
7+
| ada | |
8+
| asp | |
9+
| awk | |
10+
| bash ||
11+
| batchfile | |
12+
| C ||
13+
| cmake | |
14+
| crontab | |
15+
| C# ||
16+
| clojure | |
17+
| C++ ||
18+
| CSS | |
19+
| D | |
20+
| diff | |
21+
| docker | |
22+
| dotenv | |
23+
| elixir | |
24+
| elm | |
25+
| erlang | |
26+
| fish ||
27+
| go ||
28+
| haskell ||
29+
| HTML | |
30+
| java ||
31+
| javascript ||
32+
| json | |
33+
| kotlin ||
34+
| latex | |
35+
| lua ||
36+
| makefile | |
37+
| markdown | |
38+
| nix | |
39+
| ocaml | |
40+
| perl ||
41+
| php ||
42+
| protobuf | |
43+
| puppet | |
44+
| python ||
45+
| R ||
46+
| ruby ||
47+
| rust ||
48+
| scala | |
49+
| shell ||
50+
| sql | |
51+
| swift | |
52+
| svelte | |
53+
| tcl | |
54+
| toml | |
55+
| terraform | |
56+
| typescript | |
57+
| xml | |
58+
| yaml | |
59+
| vue | |
60+
| zig | |
61+
| zsh ||
62+
63+
Other languages that are supported are:
64+
65+
* nushell, for which highlighting isn't supported but execution is.
66+
* rust-script, which is highlighted as rust but is executed via the [rust-script](https://rust-script.org/) tool,
67+
which lets you specify dependencies in your snippet.
68+
69+
If there's a language that is not in this list and you would like it to be supported, please [create an
70+
issue](https://github.com/mfontanini/presenterm/issues/new). If you'd also like code execution support, provide details
71+
on how to compile (if necessary) and run snippets for that language. You can also configure how to run code snippet for
72+
a language locally in your [config file](../../configuration/settings.md#custom-snippet-executors).
5873

5974
## Enabling line numbers
6075

0 commit comments

Comments
 (0)