finds.dev← search

// the find

hakimel/reveal.js

★ 71,850 · JavaScript · MIT · updated May 2026

The HTML Presentation Framework

reveal.js is a browser-based presentation framework — you write slides as HTML (or Markdown), and it handles everything from transitions to speaker notes to PDF export. It's been the go-to for developers who'd rather write code than click through PowerPoint, and at 15 years old it's genuinely mature.

Markdown support is first-class and actually works well — you can write an entire deck in a single .md file. Auto-Animate is surprisingly good for technical demos; matching element IDs across slides gives you smooth state transitions without any manual keyframing. The plugin architecture is clean and the bundled plugins (highlight, math via KaTeX/MathJax, notes) cover most technical presentation needs out of the box. A React wrapper now ships in the repo with its own test suite, which makes integrating into existing React projects much less painful than the old 'drop in a script tag' approach.

The dist/ directory is committed to the repo, which is a code smell that makes PRs noisier than they need to be and the repo heavier than it should be. PDF export is still done via browser print — it works but it's fragile, layout-dependent, and produces inconsistent results compared to a headless renderer. The speaker notes window communicates over BroadcastChannel/localStorage, which breaks the moment you're presenting from a browser where the two windows don't share an origin or storage. Scroll mode (the newer vertical-scrolling layout) is documented but clearly still second-class — the examples are thin and it interacts awkwardly with fragments.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →