Slides

Terminal presentation tool that renders markdown files as slides, with in-slide code execution, pre-processing, live reload, and SSH serving.

install

Slides is a terminal-based presentation tool written in Go. A presentation is a single markdown file, with slides separated by ---. Running slides presentation.md displays it in the terminal, and the file is watched so edits update the presentation live. It also accepts markdown on stdin, for example curl http://example.com/slides.md | slides.

Code blocks on a slide can be executed with ctrl+e, and the output is shown at the end of the current slide. Slides can also be pre-processed: a block fenced with three tildes holds a command, its contents are passed as stdin, and the block is replaced with the command's stdout. An example in the README uses graph-easy --as=boxart to draw diagrams. For security, pre-processing only runs on files with execute permission (chmod +x).

Navigation uses vim-style and arrow keys, including numeric prefixes (gg for first slide, G for last, number + G for a specific slide). Pressing / searches slides with a regular expression, and ctrl+n jumps to the next match. Optional YAML front matter sets a glamour JSON theme (local path or remote URL), author, date format, and the paging string.

slides serve [file] hosts a presentation over SSH, so viewers or the presenter can connect with a plain ssh client without installing slides or having the file. It suits developers and speakers who want to write and deliver talks, including live code demos, without leaving the terminal.

Installation

# via Homebrew
brew install slides
# via Snap
sudo snap install slides
# via Go
go install github.com/maaslalani/slides@latest

Slides Presentation

Alternatives & related tools

add a badge to your README

Maintain Slides? Show that it's featured on trmn. The badge links back to this page.

Featured on trmn
Markdown
[![Featured on trmn](https://www.trmn.sh/badge/slides.svg)](https://www.trmn.sh/tools/slides?utm_source=badge)
HTML
<a href="https://www.trmn.sh/tools/slides?utm_source=badge"><img src="https://www.trmn.sh/badge/slides.svg" alt="Featured on trmn" height="20"></a>