Markdown slides in your terminal.
M

Markdown slides in your terminal.

Markdown slides in your terminal.

CLI
5,267 stars
N/A forks
N/A contributors

README

Project documentation from GitHub

Markdown Slides in Your Terminal? Yes, That’s a Thing

You know the drill: you’re deep in a coding session, maybe SSH’d into a remote box, and someone asks you to present slides. Your options? Open a browser, fire up a web-based slide deck, or—god forbid—fumble with PowerPoint in a terminal emulator. Awful.

Enter mdp. It’s a tiny C program that takes a Markdown file and turns it into a slide deck—right in your terminal. No bloat, no JavaScript, no GUI. Just you, your terminal, and some markdown.

What It Does

mdp (short for "markdown presentation") reads a Markdown file where each slide is separated by a --- divider, then renders it as a paginated slide show in your terminal. You navigate with arrow keys (or n/p). It supports basic Markdown formatting: headers, lists, code blocks, inline code, bold, italic, and even some colorized output via ANSI escapes. The result is a clean, no-nonsense presentation that runs anywhere your terminal does.

Why It’s Cool

It’s self-contained. The whole thing is a single C file. You compile it with make, and you’re done. No dependencies, no npm install, no Ruby gem, no Python virtualenv. Just a binary.

It’s fast. Since it renders straight to terminal ANSI codes, slides appear instantly. There’s no delay while a browser boots up or a web framework renders.

It’s perfect for dev workflows. Imagine giving a lightning talk at a meetup from a Raspberry Pi you just SSH’d into. Or using it as a live coding aid while you walk through a README. Or even as a low-distraction way to review notes before a standup.

It supports code blocks with syntax highlighting. Yes, it’s basic highlighting (no language detection), but it’s enough to make code slides look readable. You get colored keywords, strings, and comments—all in your terminal’s current theme.

How to Try It

Clone the repo, build, and go:

git clone https://github.com/visit1985/mdp.git
cd mdp
make

Then create a Markdown file, maybe slides.md:

# Hello Terminal Slides --- ## Why use mdp?
- No browser needed
- Works over SSH
- Fast, lightweight --- ## Code Example ```python
def hello(): print("slides in my terminal!")

The End

mdp is cool. Try it.


Run it: ```bash
./mdp slides.md

Use arrow keys or n/p</

Did you like this issue?

Join our weekly newsletter

Related Projects

Love discovering amazing projects?

Help us continue bringing you the best open-source discoveries every week.

Back to Projects
Last updated: May 22, 2026