From dc1152b685596a56853d58446f4c94c830a62322 Mon Sep 17 00:00:00 2001 From: Kuba Sunderland-Ober Date: Sun, 4 Oct 2026 23:30:34 +0200 Subject: [PATCH 01/42] Pages hold only the part of the nav tree that shows on opening; assets/js/nav.js holds the whole tree and puts it in place (HTML 137 MB -> 32 MB) --- builder/cpu-worker.mjs | 43 +----------- builder/offline-rewrite.mjs | 53 --------------- builder/offline.mjs | 35 +++++++++- builder/tbdocs.mjs | 7 +- builder/template.mjs | 95 ++++++++++++++++++++------- docs/Documentation/Builder.md | 22 ++++--- docs/Documentation/Extending.md | 2 +- docs/Documentation/Pipeline-Stages.md | 20 +++--- 8 files changed, 133 insertions(+), 144 deletions(-) diff --git a/builder/cpu-worker.mjs b/builder/cpu-worker.mjs index 14eb842b4..c71e12bad 100644 --- a/builder/cpu-worker.mjs +++ b/builder/cpu-worker.mjs @@ -15,7 +15,7 @@ import { templatePhase } from "./template.mjs"; import { unpackShared } from "./sab-broadcast.mjs"; import { deriveSearchEntries } from "./search.mjs"; import { computeChunkSeo } from "./seo.mjs"; -import { deriveOfflinePage, deriveOfflinePageCached, sliceNavBlock, posixDirname } from "./offline-rewrite.mjs"; +import { deriveOfflinePage } from "./offline-rewrite.mjs"; import { normalizeBaseurl } from "./url.mjs"; import { @@ -206,48 +206,9 @@ const handlers = { caches: { rawResolution: new Map(), seg: new Map(), result: new Map() }, }; - // PLAN-9 §5.3 (B7) nav-block cache: the just-the-docs sidebar in - // `` is byte-identical across every page - // site-wide before rewrite (template.mjs's renderSidebar takes only - // `site`, not `page`; the per-page active highlight lives in a - // separate `