I’m happy to share slydekit, yet another framework designed for creating slides in Typst with an emphasis on native customizability and simple overlays.
As a long-time user of Polylux and Touying, I’ve really appreciated what these tools brought to the presentation ecosystem in Typst. However, I wanted to explore an alternative approach built around two core priorities: idiomatic theming and clean animation workflows.
Below are some features
Idiomatic & Flexible Theming
Customizing your presentation or building a theme from scratch shouldn’t require learning complex abstract layers. slydekit leverages native Typst concepts and functions directly, making it straightforward to define header/footer layouts, color schemes, and custom slide structures.
Powerful animation system
Includes support for dynamic step-by-step reveals (uncover, only, etc.) that integrate smoothly with CeTZ graphics and Fletcher diagrams, letting you animate complex visuals effortlessly.
Clean syntax
Designed to keep slide markup concise and readable, letting you focus on your presentation’s narrative.
If you want to learn more about slydekit, you can read the
Since this thread is about presentation packages: I maintain navigator, a small backend-agnostic companion package that adds automatic “roadmap” transition slides, ie headings turn into divider slides showing where you are in the structure, current item highlighted.
If I’m not mistaken, slydekit already has this built in for one level of sections, which is great, but it stops there, and it’s sometimes useful to have a second level (subsections) get their own transition too, e.g. for longer talks. Here’s a working example doing both levels with slydekit: slydekit_transitions.typ (PDF result).
This release fixes an issue related to the use of custom fonts and colors. I’ve also polished the theme composition system to make it simpler and easier to use.
For the next release, 0.3.0, I’m planning to add animations for code blocks, with support for raw Typst blocks, Codly, and Zebraw.
This release will also introduce the ability to display section and subsection numbering in slide titles, as well as customize the numbering pattern for regular and appendix sections.
This release is a pretty big one, since some major improvements and new features have been implemented.
Refactor the code to use standard animations pause/meanwhile, uncover/only, track, alternatives, item-by-item, one-by-one without having to encapsulate them in the slide function. This is made by developing the slide-parser function.
slydekit
Add extra-info argument to allow a user defined dictionary for extra information in custom themes (PR 4)
Add slide-level argument. This parameter allows the user to choose the level of a slide. This is useful to structure a long presentation. All the functions have been reviewed to take this parameter into account as well as the built-in themes.
Add slide-align argument to allow the user to set the content alignment.
Add activate-parser argument to allow the user to deactivate the slide parsing.
toc
Refactor the function to gain flexibility.
Add fill to modify the color of the entries.
Add display-appendix to manage the way the appendix outline is displayed.
progressive-outline
Change type of active-color. It is now a dictionary with keys number and entry.
Add display-subsection to display the subsections (slide titles) in the outline.
Add display-appendix to manage the way the appendix outline is displayed.
mini-slides
Improve mini-slides to exclude slide with attached are exlude from the mini-slides.
Add alpha argument to define the transparency of the inactive slides symbols.
Fix some minor bugs related to sections and bullet visibility.
Add anim-label to assign labels to different “reveal” states of a slide so that one can jump to a specific “intermediate” state of the slide.
Don’t hesitate to read the documentation and to open an issue or submit a PR if you want to contribute