Universe

Package on Typst Universe Latest release on GitHub Supported typst release Documentation site Status of the test suite Status of the pre-commit hooks Status of the documentation build Status of the release build Status of the weekly probes Apache-2.0 license

Animo builds both dynamic HTML and static PDF presentations using typst.

The short tour of Animo gives a quick impression of its capabilities.

A minimal single-slide deck with a single animation looks like this:

#import "@preview/animo:0.1.1": *
#show: animo.with(width: 16cm, height: 9cm, margin: 1cm)

#slide(animation: {
  import anim: *
  sub(reveal("punchline"))
})[
  = Hello

  This is static text shown right away.

  #tag("punchline")[This will only appear on the next subslide.]
]

The body of a slide defines the contents and tags the parts an animation may address. The animation argument says when and how tagged parts move or change.

Key features:

  • One source file compiles to an animated HTML deck, a presentation PDF and a handout PDF.
  • The HTML presentation comes with a runtime that supports visual effects, such as moving, scaling, fading, replacing, resetting, hiding and revealing content.
  • Slides are drawn on a canvas that can be larger than the slide, so the deck can pan over it.
  • Plain typst inside a slide: no template machinery and no theme to learn.
  • Every position in a deck is a URL, so a deep link lands on a subslide.
  • Content and animation stay separate, so a slide body reads as a document.
  • Extensive validation of HTML outputs against different browser engines with playwright.

Examples

Deck Shows Open
hello.typ The smallest deck that animates: one slide, one reveal. HTML · PDF · handouts
motion.typ Moving and scaling, and the four timing keywords. HTML · PDF · handouts
content.typ Content replaced, removed and restyled, inside a region. HTML · PDF · handouts
pan.typ A canvas larger than the slide, travelled over by panning. HTML · PDF · handouts
numbering.typ Slide and subslide numbers, and a progress bar. HTML · PDF · handouts
tour.typ Every feature of Animo in one deck. HTML · PDF · handouts

A deck opens in a new tab and is stepped through with the arrow keys or a click.

Status

Animo is currently a proof of concept. API stability is not strictly guaranteed before a 1.0 release, but no major breaking changes are planned. Despite the version number, it already has enough features to make a complete presentation, with a unique approach to animations.

Where to Go Next

License

Apache-2.0. See LICENSES/Apache-2.0.txt.