/slides

Terminal based presentation tool

Primary LanguageGoMIT LicenseMIT

Slides

Slides in your terminal.

Slides Presentation

Installation

Homebrew

  • MacOS
brew install slides
  • Any Linux Distro running snapd

slides

sudo snap install slides
  • Arch
yay -S slides
  • NixOS (unstable)
nix-env -iA nixos.slides
  • Go
go install github.com/maaslalani/slides@latest

From source:

git clone https://github.com/maaslalani/slides.git
cd slides
go install

You can also download a binary from the releases page.

Usage

Create a simple markdown file that contains your slides:

# Welcome to Slides
A terminal based presentation tool

---

## Everything is markdown
In fact, this entire presentation is a markdown file.

---

## Everything happens in your terminal
Create slides and present them without ever leaving your terminal.

---

# Pre-process slides

You can add a code block with ~~~ and write a command to run before displaying
the slides, the text inside the code block will be passed as stdin to the command
and the code block will be replaced with the stdout of the command.

~~~graph-easy --as=boxart
[ A ] - to -> [ B ]
~~~

The above will be pre-processed to look like:

┌───┐  to   ┌───┐
│ A │ ────> │ B │
└───┘       └───┘

For security reasons, you must pass a file that has execution permissions
for the slides to be pre-processed.

chmod +x file.md

Checkout the example slides.

Then, to present, run:

slides presentation.md

If given a file name, slides will automatically look for changes in the file and update the presentation live.

slides also accepts input through stdin:

curl http://example.com/slides.md | slides

Go to the next slide with any of the following keys:

  • space
  • right
  • down
  • enter
  • n
  • k
  • l

Go to the previous slide with any of the following keys:

  • left
  • up
  • p
  • h
  • j

Press ctrl+e on a slide with a code block to execute it.

Configuration

Theme

slides allows you to customize your presentation's theme.

If you want to use your own custom theme.json, add the following to the top of your presentation.md:

---
theme: ./path/to/theme.json
---

Check out the provided theme.json to use as a base for your custom theme.

Alternatives

Credits: This project was heavily inspired by lookatme.

Development

See the development documentation