
slides
A terminal presentation tool that turns a Markdown file into slides you present without leaving the terminal.
- Stars
- 11.7k
- Forks
- 319
- Licence
- MIT
- Language
- Go
- Last update
- 4 months ago
- Type
- App
What it is
Slides is a command-line program written in Go that displays a Markdown file as a presentation inside your terminal. You separate slides with horizontal rules and move between them with keyboard keys. It can also run code blocks in a slide, pre-process diagrams through external commands, and serve a presentation over SSH.
- Write a talk as a Markdown file and present it with slides presentation.md
- Run a code example inside a slide by pressing ctrl+e and see its output on the slide
- Draw a diagram by piping text through a command such as graph-easy in a pre-processed code block
- Host a presentation with slides serve and let viewers connect over ssh
Great for
- Developers who already live in the terminal and want to present technical material
- People who prefer writing slides as plain Markdown files
- Presenters who want to show a talk over SSH to viewers without installing the tool
- Anyone who wants live reload while editing a slide file
Not ideal for
- Presenters who need a graphical editor, themes and image-heavy layouts, since the README describes only terminal rendering and a glamour theme option
- Audiences expecting a projector-friendly visual deck with embedded video or animations, because the output is text in a terminal
How to get it
- 1
Install with a package manager
You'll need: Homebrew, Arch AUR helper, Nix, snapd, or Go toolchain, depending on install route
macOS (Homebrew)
brew install slidesGo install
go install github.com/maaslalani/slides@latest - 2
Run it
- Install slides using one of the commands above or download a binary from the releases page
- Create a Markdown file and separate slides with a line containing ---
- Run slides presentation.md in your terminal
- Use space or the right arrow to move forward and p or the left arrow to move back
- 3
Get the most out of it
- Add a YAML block at the top of the file to set theme, author, date and paging
- Press / to search slides with a regular expression, and ctrl+n to jump to the next match
- Use ssh with slides serve [file] so viewers can connect without installing slides
- Use the ~~~ pre-processing block to generate diagrams via external commands, after chmod +x on the file
Downloads
Strengths
- Slides are plain Markdown files that work with any text editor and version control
- Live reload updates the presentation as the file changes
- Runs anywhere a terminal and, for SSH viewing, an ssh client are available
Trade-offs
- Output is limited to what a terminal can show, so it is not suited to visual-heavy decks
- Pre-processing and code execution run commands from the file, so the README requires execute permissions as a safety measure and users should review files before running them
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| slides (this) | 11.7k | App | beginner | 4 months ago | Developers who already live in the terminal and want to present technical material |
| slidev | 49.3k | Dev tool | beginner | 14 days ago | Developers who want to present code, technical talks, or architecture diagrams |
| marp | 12.7k | Other | beginner | 3 months ago | People who prefer writing slides as Markdown text rather than in a visual editor |
| mdx-deck | 11.5k | Dev tool | intermediate | 3.8 years ago | Developers who already write React and want to present technical material |
| nodeppt | 10.3k | Dev tool | intermediate | 5.8 years ago | Developers who prefer writing slides in Markdown over a visual editor |
| ppt-master | 72.4k | AI model / agent | intermediate | 7 days ago | People who want an editable starting deck from existing documents rather than a filled-in template |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.