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 to navigate. Press q to quit.
Final Thoughts
mdp isn’t going to replace your fancy web slide deck for a conference keynote. But for a quick technical demo, a lunch-and-learn at work, or even just for studying your own notes in a more engaging way, it’s surprisingly pleasant. It’s one of those tools you didn’t know you wanted until you try it.
If you ever find yourself needing to present something technical without leaving the terminal, this little C program has your back. Give it a shot—it’s about as low-friction as it gets.
Found this via @githubprojects
Repository: https://github.com/visit1985/mdp