- server/lib/siteCachePurge.ts and the route, byte for byte from
vue-faq-layer (sha256 pinned in tests/sitePurge.test.ts)
- runtimeConfig.siteCache.purgeToken (NUXT_SITE_CACHE_PURGE_TOKEN) and the
'/api/__site__/**': { cache: false } route rule
- version 0.2.0
- every refused scheme and spacing renders as text; protocol-relative
URLs are anchors, never site paths or active; rel only for _blank;
active matching rules and same-host absolute URLs; the trail marks
ancestors only
- useMenuApi uses the server base with the forwarded visitor on the
server and the public base in the browser
- typed client and useMenu/useMenuApi (SSR, menu:<code>:<locale> key,
server and public bases, x-forwarded-for forwarded also on cached renders)
- MenuNav and recursive MenuNavItem: WAI disclosure navigation, URL
allowlist with a text fallback, rel on _blank, active link and trail,
mobile toggle, Esc / focus-out / outside pointer / route change closing
- menu tokens and base CSS, README
- node tests (link rules, client, server-rendered NavItem) and a playground
SSR smoke against a fixture API