Pages & Frontmatter

Every documentation page is an .mdx file inside the apps/docs/src/content/docs/ directory.

Content path

Files follow this structure:

apps/docs/src/content/docs/{project}/{version}/{locale}/{path}.mdx

For example:

apps/docs/src/content/docs/explainer/default/en/getting-started.mdx
  • project — Top-level directory name (e.g., explainer)
  • versiondefault for unversioned, or a version name like v1, v2
  • locale — Language code (e.g., en, fr)
  • path — File path that becomes the URL segments

URL pattern

The generated URL follows this pattern:

/{locale}/{project}/{path}

The default version is omitted from the URL. Versioned docs include the version:

File pathURL
explainer/default/en/getting-started.mdx/en/explainer/getting-started
explainer/default/en/guides/installation.mdx/en/explainer/guides/installation
my-lib/v2/en/migration.mdx/en/my-lib/v2/migration

Frontmatter schema

Every MDX file starts with a YAML frontmatter block:

example-page.mdx
---
title: My Page Title
description: A brief description of this page.
icon: book-open
order: 2
permalink: /custom-url
---

Page content starts here...

Available fields

FieldTypeRequiredDescription
titlestringYesPage title displayed in the sidebar, breadcrumbs, and <title> tag
descriptionstringNoShort description for SEO meta tags and OG thumbnails
iconstringNoIcon identifier (from Iconify) displayed next to the title in the sidebar
ordernumberNoControls the position in the sidebar. Lower numbers appear first
permalinkstringNoOverride the auto-generated URL with a custom path

If order is not specified, pages are sorted alphabetically by filename.