Marketing homepage + documentation for the main app, built with Fumadocs on Next.js. Deployed as a static export under /docs/ alongside the main app — see ../.github/workflows/deploy-gh-page-on-push.yml.
A standalone project (own package.json/lockfile/node_modules — Next 16 + React 19 here, vs. the main app's Vite + React 18), run from the repo root via pnpm run docs:dev / docs:build / docs:preview (fixed port 3100; the main app's own pnpm dev proxies /docs to it, see ../vite.config.ts).
Content lives in content/docs/*.mdx; the marketing homepage is src/app/(home)/page.tsx.
This is a Next.js application generated with Create Fumadocs.
It is a Next.js app with Static Export configured.
Run development server:
npm run dev
# or
pnpm dev
# or
yarn devOpen http://localhost:3000 with your browser to see the result (note: this repo pins the dev server to port 3100 instead — see package.json).
In the project, you can see:
lib/source.ts: Code for content source adapter,loader()provides the interface to access your content.lib/layout.shared.tsx: Shared options for layouts, optional but preferred to keep.
| Route | Description |
|---|---|
app/(home) |
The route group for your landing page and other pages. |
app/docs |
The documentation layout and pages. |
app/api/search/route.ts |
The Route Handler for search. |
Collections are defined with the Macro API in lib/source.ts.
Read the Introduction for further details.
To learn more about Next.js and Fumadocs, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API.
- Learn Next.js - an interactive Next.js tutorial.
- Fumadocs - learn about Fumadocs