How a page is built
- Scrape — each route's server HTML is stored in
scraped/html/<page>.html(real markup plus nsave's serialized router payload). - Split —
<header>,<main>and<footer>are cut intocomponents/exact/<page>-{header,main,footer}.html, which each route imports throughraw-loader(html.d.tsdeclares the*.htmlmodule). - Answers — nsave renders FAQ answers only on interaction, so
scripts/inject-faq.mjsbakes the real answer text (from nsave's own payload and JS chunks, kept incomponents/exact/faq.json) into the markup using nsave's own collapse pattern:grid-rows-[0fr] -> grid-rows-[1fr]. Re-run it withnpm run inject-faq(idempotent, renumbers panel ids per file). - Render —
components/ExactPage.tsxinjects the markup and boots the behaviours.
Source captured: 2026-10-11