Matias Fontanini 9e1f2beca2
Some checks are pending
Deploy docs / build-and-deploy (push) Waiting to run
Merge checks / Checks (push) Waiting to run
Merge checks / Validate nix flake (push) Waiting to run
Merge checks / Validate bat assets (push) Waiting to run
Merge checks / Validate JSON schemas (push) Waiting to run
perf: cache resized ascii images (#547)
This caches:
* Ascii images so we don't reload them every time we're doing slide
transitions.
* Ascii image resizes, so if we go to a slide that contains an image and
we're using slide transitions, the next transition that includes that
image won't require resizing it to that same sizes.

The one performance "issue" still present when using slide transitions
is that we still need to pay for that first image -> ascii image
conversion and that first ascii image resize the first time we
transition to a slide that contains an image. This is currently
noticeable in debug mode and not in release mode (at least in my machine
™️), but it would be sweet if it wasn't there ever. For this we need to
run through all slides, find all images, ascii convert them and resize
them to the current terminal size. The same should be done when the
terminal is resized.
2025-04-13 14:29:53 -07:00
2025-04-13 14:21:04 -07:00
2023-08-27 14:14:02 -07:00
2025-03-24 18:24:28 -07:00
2025-04-13 14:21:04 -07:00
2023-10-08 07:25:02 -07:00
2023-08-27 14:14:02 -07:00

presenterm

crates-badge brew-badge nix-badge arch-badge scoop-badge

presenterm lets you create presentations in markdown format and run them from your terminal, with support for image and animated gifs, highly customizable themes, code highlighting, exporting presentations into PDF format, and plenty of other features. This is how the demo presentation looks like when running in the kitty terminal:

Check the rest of the example presentations in the examples directory.

Documentation

Visit the documentation to get started.

Features

See the introduction page to learn more.

Presenterm in Action

Here are some talks and demos that feature presenterm:

Gave a talk using presenterm? We would love to feature it here! Open a PR or issue to get it added.

Languages
Rust 99.2%
Shell 0.4%
Nix 0.2%
JavaScript 0.2%