Skip to content

Latest commit

 

History

History
112 lines (73 loc) · 3.06 KB

File metadata and controls

112 lines (73 loc) · 3.06 KB

case-docs

This is a Next.js application generated with Create Fumadocs.

Run development server:

npm run dev
# or
pnpm dev
# or
yarn dev

Open http://localhost:3000 with your browser to see the result.

Explore

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.

Fumadocs MDX

A source.config.ts config file has been included, you can customise different options like frontmatter schema.

Read the Introduction for further details.

For API Documentation

OpenAPI docs are generated from profiles defined in scripts/doc-profiles.ts.

1. Add the OpenAPI spec

Place your spec file in the openapi directory, for example:

  • openapi/my-api.yaml

2. Add or update a docs profile

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)

3. Add the Tech Docs section (only for a new API)

Create content/tech-docs/my-api with:

  • overview.mdx (landing page)
  • meta.json with "pages": ["overview", "api"]

Then add my-api to content/tech-docs/meta.json so the section appears in the sidebar.

4. Generate the API docs

List available profiles:

pnpm exec tsx --no-cache scripts/generate-docs.ts --list

Generate one profile:

pnpm exec tsx --no-cache scripts/generate-docs.ts my-api

Generate all profiles:

pnpm exec tsx --no-cache scripts/generate-docs.ts --all

5. Result

Generated 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.

Learn More

To learn more about Next.js and Fumadocs, take a look at the following resources: