06 · Slide Decks

← Docs home · Task: turn a published section into a single-file HTML slide deck, then export it to PPTX + PDF.

Source of truth: the deck-* skills under .claude/skills/ (deck-bookshelf, deck-kami, deck-academic-paper, deck-annual-letter, deck-course-module, deck-notebook-tabs, deck-zhangzara-grid) and the slide-deck/ Electron editor app for hand-editing an existing deck. Script: scripts/workflows/export_html_deck.py (+ scripts/workflows/export_deck_shots.mjs).


Procedure

Say: “build a deck for section 3.2” (Studio’s Templates → Deck tab, or a direct skill invocation naming the visual style, e.g. deck-bookshelf). The chosen skill then:

  1. Reads the published section HTML and picks the teachable objects — Learning Objectives, Definitions, Theorems, Examples, Try-It-Nows, Figures.
  2. Builds a single self-contained HTML file in that skill’s visual language (paper texture, type, accent color) under docs/<book>/decks/.
  3. Runs the visual-self-check loop against the rendered slides before declaring the deck done.

The deck is plain HTML+CSS+JS — no build step, no SPA — so it’s presentable directly and editable by hand or in the slide-deck/ editor app (slide-deck/src/format/slideFormat.ts round-trips the deck’s markdown export).

Export to PowerPoint / PDF

python scripts/workflows/export_html_deck.py docs/<book>/decks/<slug>.bookshelf.html

Screenshots each slide via Playwright (export_deck_shots.mjs), then assembles a rasterised <slug>.pptx and <slug>.pdf next to the deck. Slides are rasterized (images, not editable shapes) — same trade Open Design makes upstream.


On the web

Published sections expose a “Present” button linking the deck HTML at docs/<book>/decks/<slug>.bookshelf.html, viewed live in Studio’s Deck preview tab or opened directly in a browser.


Gotchas