Creating slides with Markdown using Marp
Need to make a presentation, but don’t like using a GUI app? Take a look at Marp, the Markdown Presentation Ecosystem.
Many folks like to knock slides as a format for conveying information. I don’t dislike slides as a way to convey and present (some) information. But I have never loved using apps like PowerPoint, Google Slides, or LibreOffice Impress. Converting Markdown to slides, though, is a great way for me to knock out a first draft of a presentation.
When I work on work documents, I’ll often revert to Vim + Markdown to do a first draft. The important thing in a first draft is to get the outline in place and then fill out the text. Markdown offers enough formatting that I can do the headings (outline), bullets, minimal formatting, and links without needing to fuss with all the formatting options in a word processor.
After I’m happy enough with a first draft I can run things through Pandoc and then plop that into Google Docs or Word or whatever tool I need to move to the next step.
Marp makes it possible to do the same thing with presentations. Note: Marp produces slides that are images rather than, say, a PPTX file that you can edit in PowerPoint or Google Slides. However, Pandoc will happily take the same Commonmark file Marp uses and generate an editable preso to start from.
It’s not the only game in town for producing slideware outside of a slide app. If you prefer LaTeX, there’s Beamer (for example). But I find LaTeX to be overkill. (You can, if you want, go the Pandoc to Beamer route…) There’s other text to slides tools, too, but Marp has a few things I really like:
- Simple format but you can produce some nice slides and tweak the layout nicely if you want to do that.
- Marp-cli has a nice preview mode and even offers a presentation + speaker notes mode that’s good enough for presenting.
- Cross-platform, your choice of Windows, Linux, or macOS + a VS Code plugin if that’s your tool of choice.
- Starting with Markdown means it’d be easy to convert a presentation to prose or vice-versa. Converting a Google Slides deck to Google Docs, for example, much less straightforward.
- Again, because it’s basically Markdown with a few extra formatting tweaks, it should be easy to migrate to another Markdown -> slides tool in the future if needed.
- Marp is MIT-licensed, which is nice.
Marp is at top of mind for me today because I spent some quality time working on a draft deck today that was slow going in Google Slides. Popping open Vim instead of Google Slides was a productivity booster.
Have a favorite open source text to slides tool? I’m all ears.
I’ve mostly stuck to GUI-based presentation software because I already know how to use it. But a Markdown-type system is appealing solely for the reason of easy version control. (You can put a LibreOffice file in git, sure, but good luck understanding the diffs.) Marp sounds interesting. Maybe I’ll try to play with it some for the next Day of Learning.
I’d package it for Fedora but it looks like it would be a real pain to get all of the dependencies packaged first. That’s a separate rant.
“Stuck to GUI-based…because I already know how to use it.”
That’s why I like text-based. It’s so much more familiar for me. But! Whatever tool works best for you.
It’d be a nice to have tool packaged for Fedora but I feel like the effort may not be worthwhile. They produce Linux binaries that are easy enough to use, and I’m not sure there’s enough win either way to justify the packaging effort.
Thanks, I love Markdown and Marp and your article inspire me.