Build markdown slideshows directly in your terminal
GitHub RepoImpressions1.4k

Build markdown slideshows directly in your terminal

@githubprojectsPost Author

Project Description

View on GitHub

Presenterm: Build Markdown Slideshows in Your Terminal

Let's be honest: building slides can be a drag. You're in the zone, writing code in your terminal, and suddenly you need to context-switch to a graphical slide editor to prepare a quick demo or team update. It breaks the flow. What if you could build and present slides without ever leaving your terminal?

That's exactly what Presenterm does. It's a terminal-based presentation tool that turns Markdown files into navigable, good-looking slideshows. No browser, no heavy GUI application—just your terminal and a simple text file.

What It Does

Presenterm is a Rust-based tool that reads a standard Markdown file, parses it, and renders it as a presentation right where you are. You write your slides in Markdown (with a few presentation-specific conventions), and Presenterm handles the rest: splitting content into slides, applying syntax highlighting to code blocks, and providing keyboard shortcuts to navigate forward and backward.

It supports images (via terminal graphics protocols like Kitty or iTerm2), multiple slide layouts, and speaker notes. It's essentially a lightweight, portable presentation layer that lives in your development environment.

Why It's Cool

The beauty of Presenterm is in its constraints and its focus. It's built for developers, by a developer. Here’s what makes it stand out:

  • Zero Friction Workflow: Your slides are just a Markdown file in your project repo. You can edit them with Vim, VS Code, or any editor, and view them instantly. This is perfect for sprint demos, internal tech talks, or recording CLI-focused tutorials.
  • It's Just Markdown: You already know the syntax. Presenterm uses three dashes (---) on a new line to separate slides. That's the main extra rule to learn.
  • Portable and Fast: It's a single binary. Share your slides.md file with a colleague, and if they have Presenterm installed, they can view it exactly as you intended. No font issues, no broken layouts.
  • Fits the Developer Aesthetic: It embraces the terminal. Code blocks are beautifully syntax-highlighted, and the overall look is clean and readable. It feels professional in a way that a browser tab full of bullet points often doesn't.
  • Speaker Notes: You can add private notes for each slide (using the notes: keyword) that only you see during presentation mode, keeping you on track without cluttering the main view.

How to Try It

Getting started is straightforward. First, you'll need to install Presenterm. The easiest method is via Cargo (if you have Rust installed):

cargo install presenterm

Alternatively, you can download a pre-built binary for your platform from the GitHub Releases page.

Once installed, create a simple Markdown file, for example my_talk.md:

# Welcome to My Talk

This is slide one.

---

## Code Example

Here's some Rust code:

```rust
fn main() {
    println!("Presenting from the terminal!");
}

The End

Questions?


Then, simply run:

```bash
presenterm my_talk.md

Use the arrow keys, spacebar, or n/p to navigate. Press ? to see all available keyboard shortcuts. That's it—you're presenting.

Final Thoughts

Presenterm won't replace Keynote or Google Slides for every scenario, and it's not trying to. What it does is solve a specific problem elegantly: creating quick, code-centric presentations without leaving your development habitat. It reduces the overhead of sharing knowledge, which is ultimately what a good tool should do.

If you live in your terminal and frequently need to show your work, it's absolutely worth adding to your toolkit. It turns a Markdown file from simple documentation into an interactive presentation asset. Give it a shot for your next stand-up demo or lightning talk—you might just stick with it.


@githubprojects

Back to Projects
Project ID: df459f9b-495b-45d5-9b9e-8d1309740889Last updated: January 15, 2026 at 04:39 AM