Skip to content
berspPublic

About

Customizable, simple and (hopefully) good-looking presentations from Markdown files. Available on PyPI as yerba.

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Repository files navigation

Example deck  ·  Docs  ·  LLM docs

pip install yerba License: MIT


mate is a Python application for creating presentations by writing Markdown files. The goal is to build aesthetically pleasing presentations in a short amount of time while staying highly customizable and versatile: the content is plain Markdown, and the details can be tweaked with a short, clean syntax (or at least that's the intention).

That clean syntax also makes it easy to write slides with an LLM. A deck is a single text file with very little syntax, and a model can write a decent first version from your notes. From there you can keep working on it by hand or ask the model for changes.

Features

  • Slides are written in plain Markdown: # opens a slide, and bold, italics, code and math work as usual.
  • Whatever Markdown cannot express, the extended syntax can: any element of a slide can be created, styled, positioned and aligned.
  • Templates control fonts, colors, backgrounds and slide logic. Use a built-in one, or write your own as a small Python file next to your deck.
  • Slides reveal their content in stages, with a versatile system of pauses, in-place reveals and overwrites.
  • There is a drawing API as well: shapes, Bézier curves, images and gradients can go on a slide alongside the text.
  • mate is fast: everything is heavily cached, so builds stay quick even for large decks.
  • There is nothing else to install: no LaTeX, no external tools. The rendering backend ships inside the package.

Getting started

To get mate, all you need is yerba:

pip install yerba

Write a deck:

# A slide title

Some content with **bold**, _italic_ and inline $x^2$ math.

Words can be styled in place: [this is red][color="red"], and
[this is translucent and smaller][opacity=0.4, fontsize=7].

> pause

- Bullet points work as usual
- and this list appears after the pause.

# Another slide
## With a subtitle

More content.

and build it:

mate slides.md

The PDF lands next to the source, as slides.pdf.

There is also an example deck that goes through most of what mate can do, and its source shows how each slide is written.

See the docs for the full mate syntax, front matter, templates, and the Python API. If you want to write the slides with the help of an LLM, the LLM docs are (hopefully) all you need to give it. An agent with a terminal can read them on its own with mate --llm-docs.

Backends

The code is built to support different backends. Typst is the only one supported today; new backends will follow once the current one is fully functional and free of known bugs.

License

MIT. The bundled fonts keep their own licenses (SIL OFL 1.1, under fonts/).

About

Customizable, simple and (hopefully) good-looking presentations from Markdown files. Available on PyPI as yerba.

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages