Building this website
The fuzor.dev website is a workspace package inside the Fuzor repository. It uses Fuzor as its own framework rather than a separate site generator.
website/
├── index.html
├── pages/
│ ├── index.html
│ ├── layout.html
│ └── docs/
│ ├── index.md
│ ├── rendering/index.md
│ └── guides/building/index.md
├── components/site-wordmark.html
└── vite.config.ts
The root layout holds the site header and footer. Fuzor's compiler automatically detects pages/docs/ and renders the official docs layout with sidebar navigation and table of contents for every /docs/ route, while enforcing that pages/docs/ contains Markdown files and folders only.
The docs layout uses fuzor/ui and adapts automatically to the screen: three columns on desktop, two on tablets, and one on screens up to 800px wide. On small screens, navigation is a collapsible native menu with touch-sized links; it works with keyboard input and without JavaScript. Wide tables and code blocks scroll within the article instead of widening the page.
The sidebar is generated: the layout contains <fuzor-nav scope="/docs/" label="Documentation">, and each page's frontmatter sets its order, navGroup and, where the heading is too long, navTitle. Adding a page means adding a folder with an index.md; it appears in the sidebar on the next build, and its links are checked.
Run it locally
From the repository root:
pnpm install
pnpm website:dev
Build each combination
pnpm website:build
pnpm --filter @fuzor/website build:spa
pnpm --filter @fuzor/website build:spa:server
pnpm --filter @fuzor/website build:mpa:server
pnpm --filter @fuzor/website start:mpa:server
The default website build is the static MPA, suitable for hosting the documentation as ordinary HTML files. All four combinations use the same source.