=================
== Claus' Blog ==
=================
Made with Hugo and ❤️

Marp - No PowerPoint, no bloat, but Markdown

#markdown #opensource #howto

I don’t like PowerPoint. The endless dragging and dropping, the bloated interface, the struggle to get elements to align, and the general waste of time always drive me crazy. I want to focus on my content, not fight with a heavy user interface.

If you are like me, you probably love Markdown. It is simple, clean, and gets out of your way. Ever since I started using Obsidian, it has easily become my favorite application of all time. So, a while ago, I asked myself if I could just write my presentations in Markdown too.

That is when I discovered Marp [1], an incredibly slick Markdown presentation ecosystem.

What is Marp?

Marp is not strictly 100 percent pure Markdown, but it feels incredibly close. It is built on top of the CommonMark [2] specification, meaning your existing Markdown knowledge carries over instantly.

The ecosystem is incredibly developer friendly. You can run it directly from your terminal using the Marp CLI [3] or write your slides directly inside VS Code with their official extension [4]. There is even a community curated list of awesome Marp resources [5] if you want to dive deeper into custom tools and themes.

If you are on macOS, getting started is as simple as running a quick Homebrew command:

1brew install marp-cli

For other operating systems, you can easily find alternative installation methods in their official GitHub repository.

The AI and Agentic Coding Connection

Before we look at how it works, let me share a quick tip on why this is a game changer for modern development workflows. Because Marp files are just plain text, they play incredibly well with LLMs and agentic coding tools.

I often use my favorite AI assistant to scan a codebase and generate a complete architecture slide deck on the fly. Doing this with PowerPoint would be a nightmare of scripting, but with Marp, the AI just spits out a clean Markdown file, and I have a beautiful presentation ready in seconds.

Key Features That Make Marp Awesome

Here is a quick look at what you can do with it:

  • Write slides with ease: Use standard Markdown syntax for your text, lists, images, and code blocks.
  • Split slides instantly: Just use a horizontal ruler (---) to tell Marp where a new slide starts.
  • Built-in themes: It comes with three clean themes out of the box, which are default, gaia, and uncover.
  • Easy customization: If you need custom styling, you can inject CSS globally via the frontmatter using style: | ... or target a single slide using <style scoped>.
  • Flexible exports: You can export your slides to HTML, PDF, or even PowerPoint format. Under the hood, the Marp CLI uses a headless browser to render PDFs perfectly, so they always look exactly as intended.
  • Pluggable and open source: The architecture is fully pluggable, and the project is open source under the friendly MIT license.

A Simple Example

Let us look at how easy it is to write a basic deck. Create a file named slide.md and add the following content:

 1---
 2marp: true
 3theme: default
 4---
 5
 6# Slide 1
 7
 8This is some content on my first slide.
 9
10---
11
12# Slide 2
13
14And here is my second slide with some bullet points:
15* Point one
16* Point two

Once you have saved your file, you can compile it using the CLI. Here are the commands to export to different formats:

1# Export to HTML (this is the default option)
2marp slide.md
3
4# Export to PDF
5marp --pdf slide.md
6
7# Export to PowerPoint
8marp --pptx slide.md

Conclusion

And that is really all there is to it. No bloated software, no alignment struggles, just pure focus on your content. If you are looking for a way to streamline your presentation workflow and keep everything in plain text, I highly recommend giving Marp a try. It has completely changed how I share my technical work, and I think you will love it too.

References

[1] Marp: https://marp.app
[2] CommonMark: https://commonmark.org
[3] Marp CLI: https://github.com/marp-team/marp-cli
[4] Marp VS Code Extension: https://marketplace.visualstudio.com/items?itemName=marp-team.marp-vscode
[5] Awesome Marp List: https://github.com/marp-team/awesome-marp