The unPaper HTML format
The format is a contract. Meet it and the deck prints exactly and converts to editable PowerPoint; break it and both degrade in predictable ways.
The authoritative version — every rule, every element, the chart data schema — is the spec. This page is the orientation.
The four ideas
A slide is a fixed page. 1280×720, with a real @page rule. Not a
responsive layout that happens to look like slides. This is what lets a PDF come
out pixel-exact and a converter know where anything is.
One file, no network. Styles, scripts and images live inside the document. Nothing is fetched. A deck opens the same on a plane as at a desk, and a confidential deck cannot phone home.
It renders without JavaScript. Scripts are progressive enhancement only. Printing and converting both happen with scripts off, so anything a script injects at runtime simply is not there.
Elements mean something. A card is .card, a metric is .stat, a chart is
a real <svg> carrying its numbers. The converter reads that meaning to decide
what becomes a native shape, a native text box or a native chart.
Why HTML and not PowerPoint
Because a model can see HTML. Generating .pptx means emitting zipped XML blind.
HTML is the format assistants have the most practice with, and it is the one
where a mistake is visible rather than silent.
Where to go next
- Conformance levels — what each level guarantees.
- Pattern library — the layouts that already exist.
- Check a deck — test a file against the contract.