docs.json
controls the structure and information hierarchy of your documentation.
With proper navigation configuration, you can organize your content so that users can find exactly what they’re looking for.
Pages
Pages are the most fundamental navigation component. Pages map to the MDX files that make up your documentation.
navigation
object, pages
is an array where each entry must reference the path to a page file.
Groups
Use groups to organize your sidebar navigation into sections. Groups can be nested within each other, labeled with tags, and styled with icons.
navigation
object, groups
is an array where each entry is an object that requires a group
field and a pages
field. The icon
, tag
, and expanded
fields are optional.
Default expanded state
Setexpanded: true
on a group to make it expanded by default in the navigation sidebar. This is useful for highlighting important sections or improving discoverability of key content.
Tabs
Tabs create distinct sections of your documentation with separate URL paths. Tabs create a horizontal navigation bar at the top of your documentation that lets users switch between sections.
navigation
object, tabs
is an array where each entry is an object that requires a tab
field and can contain other navigation fields such as groups, pages, icons, or links to external pages.
Menus
Menus add dropdown navigation items to a tab. Use menus to help users go directly to specific pages within a tab. In thenavigation
object, menu
is an array where each entry is an object that requires an item
field and can contain other navigation fields such as groups, pages, icons, or links to external pages.
Anchors
Anchors add persistent navigation items to the top of your sidebar. Use anchors to section your content, provide quick access to external resources, or create prominent calls to action.
navigation
object, anchors
is an array where each entry is an object that requires an anchor
field and can contain other navigation fields such as groups, pages, icons, or links to external pages.
global
keyword. Anchors in a global
object must have an href
field and cannot point to a relative path.
Global anchors are particularly useful for linking to resources that are not part of your documentation, but should be readily accessible to your users like a blog or support portal
Dropdowns
Dropdowns are contained in an expandable menu at the top of your sidebar navigation. Each item in a dropdown directs to a section of your documentation.
navigation
object, dropdowns
is an array where each entry is an object that requires a dropdown
field and can contain other navigation fields such as groups, pages, icons, or links to external pages.
OpenAPI
Integrate OpenAPI specifications directly into your navigation structure to automatically generate API documentation. Create dedicated API sections or place endpoint pages within other navigation components. Set a default OpenAPI specification at any level of your navigation hierarchy. Child elements will inherit this specification unless they define their own specification.Versions
Partition your navigation into different versions. Versions are selectable from a dropdown menu.
navigation
object, versions
is an array where each entry is an object that requires a version
field and can contain any other navigation fields.
Languages
Partition your navigation into different languages. Languages are selectable from a dropdown menu.
navigation
object, languages
is an array where each entry is an object that requires a language
field and can contain any other navigation fields.
We currently support the following languages for localization:

Arabic (ar)

Chinese (cn)

Chinese (zh-Hant)

English (en)

French (fr)

German (de)

Indonesian (id)

Italian (it)

Japanese (jp)

Korean (ko)

Portuguese (pt-BR)

Russian (ru)

Spanish (es)

Turkish (tr)
Nesting
You can use any combination of anchors, tabs, and dropdowns. The components can be nested within each other interchangeably to create your desired navigation structure.Breadcrumbs
Breadcrumbs display the full navigation path at the top of pages. Some themes have breadcrumbs enabled by default and others do not. You can control whether breadcrumbs are enabled for your site using thestyling
property in your docs.json
.
Interaction configuration
Control how users interact with navigation elements using theinteraction
property in your docs.json
.
Enable auto-navigation for groups
When a user expands a navigation group, some themes will automatically navigate to the first page in the group. You can override a theme’s default behavior using thedrilldown
option:
- Set to
true
to force automatic navigation to the first page when a navigation group is selected. - Set to
false
to prevent navigation and only expand or collapse the group when it is selected. - Leave unset to use the theme’s default behavior.
FAQ
What navigation folders should I avoid?
What navigation folders should I avoid?