Skip to content

Instantly share code, notes, and snippets.

@johnloy
Last active February 15, 2026 21:10
Show Gist options
  • Select an option

  • Save johnloy/27dd124ad40e210e91c70dd1c24ac8c8 to your computer and use it in GitHub Desktop.

Select an option

Save johnloy/27dd124ad40e210e91c70dd1c24ac8c8 to your computer and use it in GitHub Desktop.
List of markdown presentation tools

Electron apps

Slide deck frameworks supporting Markdown source

Hosted services

macOS apps

CLI markdown ⇒ slides conversion tools

@zenomt
Copy link

zenomt commented Feb 7, 2026

for CLI: https://github.com/zenomt/mdslides (sample presentation: https://zenomt.github.io/mdslides/mdslides.html )

it generates pure HTML+CSS presentations (no JavaScript). it's just a CSS stylesheet and an 8 line Awk script to replace slide delimiters with HTML to work with the stylesheet. bring your own (CommonMark) Markdown formatter (i like MD4C's md2html).

@d9k
Copy link

d9k commented Feb 15, 2026

Found this one today : https://sli.dev/

sli.dev is flexible and feature-reach but bloated anti-minimalist solution. It serves full-blown local Nuxt website.

Tried example https://github.com/loftkun/slidev-example.

node_modules occupies 400 MB.

  • @iconfify: 128MB
    • noto.json: 24MB, emojione-v1.json: 22MB...
  • monaco-editor: 83MB
  • pdf-lib: 22MB
  • . . . . .

export to pdf uses PlayWright with chromium browser to render! This approach is bloated and slow.

Couldn't configure proxy for external assets download during render: the solution didn't work for me.

@d9k
Copy link

d9k commented Feb 15, 2026

On the other hand https://github.com/yhatt/marp-cli-example:

  • Just do npm i and edit PITCHME.md.

  • node_modules: only 130MB

    • mathjax-full: 43MB
    • chromium-bidi: 14MB
    • puppeteer-core: 12MB
    • . . . . .
  • VSCode preview plugin!

  • Build to PDF is much faster, no errors with proxy (for proxy just install proxychains, configure it and prefix command with it: proxychains npm run pdf)

  "scripts": {
    "pdf": "marp --no-stdin PITCHME.md -o public/presentation.pdf",
  • If you want to fit long text just write scope CSS rule: <style scoped>section { font-size: 20px; }</style> inside the markdown slide: marp-team/marp-core#128 (comment)

  • Disable slides transition effects with transition: false in marp.config.mjs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment