One sentence on what this is about
Some text
Some text
A presentation as one HTML file. No build step, no dependencies, and it works offline.
Press → to continue
These are speaker notes. The presenter view and the edit view show them, and no slide does.
<style data-deck="engine"> | Places, scales and prints the slides | Replaced on update |
<style data-deck="theme"> | Colours, fonts and slide layouts | Yours to change |
<section class="slide"> | One per slide, with its speaker notes | Yours to write |
<script data-deck="engine"> | Keys, builds, presenter view, edit view | Replaced on update |
Open this file in a text editor and you will find these four parts, in this order, with one more style block after the theme for CSS of your own. Each press of → shows the next one.
How a slide is written: its markup, classes, builds, speaker notes and theme.
The markup on the left renders as the slide on the right. The engine shows one section at a time and scales it to the window.
The theme has a class for each kind of slide and each block on it.
title opens the deckdivider starts a partclosing ends itdark turns any of them dark
cols for columnsstats for figureskeys for a tableterm for code
kicker says where you aresub leads insmall for a sourcebuild waits for a press
This slide is three columns with a label over each. The components reference lists every class with its markup.
Add class="build" to any element. Press → now.
The items reveal in document order. ↓ skips to the next slide with every item shown, and printing to PDF shows them all.
Add data-auto="600" to the section. Each item follows 600 ms after the last.
The timer starts when you arrive with →. ↓ and ↑ show every item at once. Pressing → or ← takes over from the timer.
Nothing. Notes show in the presenter view and the edit view, never on the slide or in the PDF.
Press S to read this slide's notes.
These are this slide's notes. The presenter view and the edit view show them.
Set your colours, fonts and logo in the theme block, and every slide follows.
CSS for one deck goes in the last <style> block.
These are real tokens from this file's theme block. The full list is in the theming reference.
What you get in front of a room: the presenter view, the keys and a PDF.
A second window shows the current slide, what the next press brings, your notes, a timer and the clock.
Steer from either window. They stay in step.
Press S to open it. If nothing opens, allow pop-ups for this page. Drag the deck window to the projector and press F there.
| →Space | Next item, then next slide |
| ← | Back one item, then previous slide |
| ↓↑ | Next or previous slide, with every item shown |
| F | Fullscreen |
| SE | Presenter view, edit view |
Move the pointer to the bottom-left corner for buttons and the full list.
Clicking also works: the left 30 % of the screen goes back and the rest goes forward. On a touch screen, swipe.
Press P and choose Save as PDF in the print dialog.
The PDF is the hand-out. Backgrounds print as they show, so a dark slide stays dark.
How a deck changes after it is written: edits in the browser, suggestions for a coding agent, and updates to the engine.
In Edit, double-click text to change it, or click an element to move, copy or delete it. Save writes the file.
In Suggest, click an element and type what should change, for a coding agent.
Press E to try it on this slide. Changes stay in this window until you save them; suggestions are kept in this browser, per deck. Press E again to come back.
Paste it into Claude Code or another coding agent. It names the file, the slide and the element.
This is one suggestion from a prompt, which starts by naming the deck file. The selector and the text tell the agent where to look.
Your slides and theme stay as they are.
With --check, nothing is written, and the command exits 1 if the deck is out of date.
deckfile is MIT licensed, by Roald Nefs. Delete these slides from your copy and keep the rest of the file.