From 9001f35bf38dc3c8e3e1c9ad3c8b23e8e1ef0ae8 Mon Sep 17 00:00:00 2001 From: NeoVand Date: Thu, 2 Jul 2026 00:39:55 -0500 Subject: [PATCH] =?UTF-8?q?feat(book):=20the=20whole=20guide=20is=20blocks?= =?UTF-8?q?=20=E2=80=94=20zoo=20and=20reference=20migrate?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ch-problems, ch-experiments, ch-panels and ch-keys — the last four markup chapters — become block arrays. Every one of the 21 chapters now lives in src/content/chapters/; HelpModal is what the plan called for: the shell (TOC, hero, scroll-spy, part labels) plus the figure/widget snippets and their compute. - the problem bestiary and experiment cards were already data (problemCards.ts, experiments.ts); their grids render as widget islands, so the emitter reads the same sources for print - ch-panels' viz-list becomes a list block with a 'viz' variant - the keyboard map is a widget island (app-only; print drops it); the closing ∂ end-mark stays in the shell as the book's colophon glyph Verified: rendered text of ALL 21 sections byte-identical to main in both themes (71,688 / 71,710 chars — a doubled end-mark the byte-compare caught was fixed before commit); 24 problem cards, 12 experiment cards, 8 keyboard items all render; 194 tests, svelte-check clean. Co-Authored-By: Claude Fable 5 --- src/components/GuideBlocks.svelte | 2 +- src/components/HelpModal.svelte | 104 ++++++++++++++---------------- src/content/blocks.ts | 4 +- src/content/chapters/index.ts | 7 +- src/content/chapters/reference.ts | 42 ++++++++++++ 5 files changed, 100 insertions(+), 59 deletions(-) create mode 100644 src/content/chapters/reference.ts diff --git a/src/components/GuideBlocks.svelte b/src/components/GuideBlocks.svelte index 10fa1a3..41d3984 100644 --- a/src/components/GuideBlocks.svelte +++ b/src/components/GuideBlocks.svelte @@ -71,7 +71,7 @@ {:else if b.kind === 'recipe'}
{@html richToHtml(b.text, dark)}
{:else if b.kind === 'list'} -