Skip to content

Temario

Turn YAML files into LibreOffice Impress presentations and PDFs with a single command.

Temario — main window with YAML editor and slide tree

Simple YAML format

Define cover, objectives, sections and slides in plain text. No PowerPoint, no dragging boxes.

Customisable ODP templates

Use your own LibreOffice Impress template. Temario detects styles automatically.

CLI and GUI

Generate presentations with ./temario build or from the desktop graphical interface.

Smart auto-split

Long code or large lists are automatically split into multiple slides with [N/M].

Automatic PDF

Exports to PDF via headless LibreOffice in the same build step.

Reactive watch

Regenerates on save thanks to inotify (Linux) or FSEvents (macOS).

Terminal window
# 1. System dependencies (Ubuntu/Debian)
sudo apt-get install -y git curl libreoffice poppler-utils
# 2. Install uv (Python environment manager)
curl -LsSf https://astral.sh/uv/install.sh | sh
source ~/.local/bin/env # or open a new terminal
# 3. Clone and install
git clone https://gitlab.com/pepesan/temario-app temario && cd temario
uv sync
# 4. Build the example course
./temario build courses/ejemplo
# 5. View the result
ls courses/ejemplo/output/
meta:
portada: "Introduction to Java"
unidad: "Unit 01"
output: "01_intro"
objetivos:
- "Understand the JVM and javac compiler"
- "Write and run your first Java program"
secciones:
- titulo: "Hello, world"
slides:
- tipo: java
texto: |
public class Hello {
public static void main(String[] args) {
System.out.println("Hello, world!");
}
}
conclusion:
- "Java compiles to portable bytecode"
- "The JVM runs bytecode on any platform"
referencias:
- ["Official Java documentation", "https://docs.oracle.com/javase/"]

Temario is open source (GPL v3). You can contribute with code, translations or by reporting bugs on GitLab.

Contribute translations

Help translate the interface and documentation into other languages.

How to translate →