This is a Next.js application generated with Create Fumadocs.
Run development server:
npm run dev
# or
pnpm dev
# or
yarn devOpen http://localhost:3000 with your browser to see the result.
In the project, you can see:
lib/source.ts: Code for content source adapter,loader()provides the interface to access your content.app/layout.config.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. |
A source.config.ts config file has been included, you can customise different options like frontmatter schema.
Read the Introduction for further details.
OpenAPI docs are generated from profiles defined in scripts/doc-profiles.ts.
Place your spec file in the openapi directory, for example:
openapi/my-api.yaml
In scripts/doc-profiles.ts, add a new profile entry:
{
id: 'my-api',
input: './openapi/my-api.yaml',
outputDir: 'content/tech-docs/my-api/api',
baseUrl: '/tech-docs/my-api/api',
groupByTag: true,
}groupByTag: true groups endpoints by OpenAPI tags in the generated docs.
Current profiles:
management-api(openapi/management-api.yaml,groupByTag: true)participant-api(openapi/participant-api.yaml,groupByTag: true)smtp-bridge(openapi/smtp-bridge.yaml,groupByTag: false)
Create content/tech-docs/my-api with:
overview.mdx(landing page)meta.jsonwith"pages": ["overview", "api"]
Then add my-api to content/tech-docs/meta.json so the section appears in the sidebar.
List available profiles:
pnpm exec tsx --no-cache scripts/generate-docs.ts --listGenerate one profile:
pnpm exec tsx --no-cache scripts/generate-docs.ts my-apiGenerate all profiles:
pnpm exec tsx --no-cache scripts/generate-docs.ts --allGenerated API pages are written to content/tech-docs/<api-id>/api (including index.mdx and meta.json).
Note: these files are generated and should not be edited manually. Re-run the generator after spec changes.
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