One markdown file in, a full presentation out. No editor lock-in, no npm install, no fighting with CSS. Just write your talk and present it.
slides is a single Rust binary that turns a .md file into a browser-based presentation with live reload, speaker notes, multi-column layouts, and PDF export.
# Generate a starter presentation with all syntax examples
slides init
# Preview with live reload
slides serve presentation.md
# Present with speaker notes, timer, and progress
slides present presentation.md
# Visual editor — create slides in the browser, markdown file updates in real time
slides edit presentation.md
# Export
slides export presentation.md -f html -o deck.html
slides export presentation.md -f pdf -o deck.pdf # requires --features pdf- Live preview — saves trigger instant reload in the browser
- Layouts — split columns (
:::split 60/40), grids (:::grid 2x2), vertical stacks (:::stack) - Speaker notes — block (
:::notes) or inline (^[note]), shown in presenter mode with a timer - Fragment reveals — use
+as a list marker for items that appear one at a time - Semantic styling — annotate blocks with
{.emphasis},{.callout},{.aside}and let the theme handle the rest - Themes —
minimal(light) anddarkbuilt-in, customizable via CSS custom properties - Export — self-contained HTML or PDF via headless Chrome
- Visual editor —
slides editopens a browser-based editor with toolbar, layout selector, and live preview; the.mdfile updates in real time - Syntax reference — visit
/helpin the browser while presenting, or runslides initfor a starter deck that exercises every feature
- SYNTAX.md — complete reference for the authoring syntax (frontmatter, layouts, speaker notes, fragments, semantic annotations).
- USAGE.md — keyboard shortcuts and CLI commands.
- Running
slides serveorslides present? Visithttp://localhost:3030/helpfor the same content rendered in-browser, orhttp://localhost:3030/syntax.mdfor the raw markdown.
# One-line install (macOS Apple Silicon / Linux x86_64)
curl -fsSL https://raw.githubusercontent.com/inhesrom/slides/master/install.sh | bash
# Update to latest
slides update
# Or build from source
cargo install --path .
# With PDF export support
cargo install --path . --features pdfMIT

