About this site
The docs are a Norns app — markdown under content/, a docs feature folder, prerendered on Cloudflare Workers.
norns-docs is a Norns app like any other. It dogfoods the stack: the content is a feature folder, the pages are .n files, the shell is norns-ui.
#How it is put together
- Content is markdown under
content/<package>/NN-section/NN-page.md, withtitleanddescriptionfrontmatter. The numeric prefix orders sections and pages and is stripped from the URL;index.mdis the page for its folder. Callouts use> [!NOTE],[!TIP],[!WARNING],[!IMPORTANT],[!CAUTION]. - The docs feature (
src/lib/norns/docs/) is a normal feature folder: ashared/content model, aserver/repo.jsthat bundles the markdown at build time throughimport.meta.glob, aservice.cthat renders pages and builds the sidebar, and apublic.cfacade the routes import. Because the routes only see the facade, the content source can be swapped (a database, or the planned norns-cms) without touching them. - Rendering is marked plus shiki with a dual light/dark theme. Civet blocks use the CoffeeScript grammar until a Civet grammar exists.
- Every page is prerendered and served as a static asset from Cloudflare Workers; the worker only answers misses.
- Agent-readable: every page has a Markdown twin at
/md/<package>/<slug>, listed in/llms.txt;/llms-full.txtis the whole corpus in one file. - Generated reference: the norns-ui component reference is copied from the installed package's
COMPONENTS.mdbyscripts/gen-reference.mjsbefore every dev run and build, so it always matches the installed version.
#Contributing a page
- Add or edit a file under
content/. Links between pages are site-absolute (/norns/runtime/container). bun run devand check the page and the sidebar.bun run lint,bun run check,bun run build.- Open a pull request against
human-synthesis/norns-docs. Deploys happen frommain.
The "Edit this page" link at the bottom of every page opens the file on GitHub.
#Planned
- Move each package's pages into that package's repository and pull them at build time, so docs change in the same commit as the code.
- One page per norns-ui component with a live demo next to the props.
- The norns CLI reference generated from the CLI's own help text.
- Once norns-cms exists, this site is a candidate first tenant: its packages, sections and pages map directly onto content types.