Configuration Reference
Every documentation site requires a docs.json
file that contains the core configuration settings.
This file controls everything from styling and navigation to integrations.
Customization
One of the following: mint
, maple
, palm
, willow
, linden
, almond
.
The layout theme of the project. Check out the Themes page for more information.
The name of the project, organization, or product Minimum length: 1
Optional description used for SEO and LLM indexing
The colors to use in your documentation. At the very least, you must define the primary color. For example:
primary
string matching ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$
required
The primary color of the theme
Must match pattern: ^#([a-fA-F0-9]|[a-fA-F0-9])$
light
string matching ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$
The light color of the theme. Used for dark mode
Must match pattern: ^#([a-fA-F0-9]|[a-fA-F0-9])$
dark
string matching ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$
The dark color of the theme. Used for light mode
Must match pattern: ^#([a-fA-F0-9]|[a-fA-F0-9])$
The logo (for both light and dark mode)
Path pointing to the light logo file to use in dark mode, including the file extension. Example: /logo.png
Path pointing to the dark logo file to use in light mode, including the file extension. Example: /logo-dark.png
The URL to redirect to when clicking the logo. If not provided, the logo will link to the homepage. Example: https://example.com
The path to your favicon file in the docs folder, including the file extension. The file will automatically be resized to appropriate favicon sizes.
Can be a single file or a pair for light and dark mode. Example: /favicon.png
Path pointing to the light favicon file to use in dark mode, including the file extension. Example: /favicon.png
Path pointing to the dark favicon file to use in light mode, including the file extension. Example: /favicon-dark.png
Styling configurations
eyebrows
"section" | "breadcrumbs"
The eyebrows style of the content. Defaults to section
.
The codeblock theme. Defaults to system
.
Icon library settings
library
"fontawesome" | "lucide"
required
The icon library to be used. Defaults to fontawesome
.
The font family, such as “Open Sans”, “Playfair Display”
The font weight, such as 400, 700. Precise font weights such as 550 are supported for variable fonts.
The font format, can be one of woff, woff2
The font family, such as “Open Sans”, “Playfair Display”
The font weight, such as 400, 700. Precise font weights such as 550 are supported for variable fonts.
The font format, can be one of woff, woff2
The font family, such as “Open Sans”, “Playfair Display”
The font weight, such as 400, 700. Precise font weights such as 550 are supported for variable fonts.
The font format, can be one of woff, woff2
Light / dark mode toggle settings
default
"system" | "light" | "dark"
The default light/dark mode. Defaults to system
Whether to hide the light / dark mode toggle. Defaults to true
.
Background color and decoration settings
decoration
"gradient" | "grid" | "windows"
The background decoration of the theme
The colors of the background
light
string matching ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$
The color in hex format to use in light mode
Must match pattern: ^#([a-fA-F0-9]|[a-fA-F0-9])$
dark
string matching ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$
The color in hex format to use in dark mode
Must match pattern: ^#([a-fA-F0-9]|[a-fA-F0-9])$
Structure
Navbar content and settings
The links in the navbar
A valid path or external link
type
"button" | "github"
required
The label for the primary button. This only applies when type
is set to button
.
A valid path or external link. If type
is set to github
, this will be the URL to the repository.
The navigation structure of the content
Add external links that will appear on all sections and pages irregardless of navigation nesting
language
"en" | "cn" | "zh" | "zh-Hans" | "zh-Hant" | "es" | "fr" | "ja" | "jp" | "pt" | "pt-BR" | "de" | "ko" | "it" | "ru" | "id" | "ar" | "tr"
required
The name of the language in the ISO 639-1 format
Whether this language is the default language
Whether the current option is default hidden
A valid path or external link
The name of the version
Minimum length: 1
Whether this version is the default version
Whether the current option is default hidden
The name of the tab
Minimum length: 1
The icon to be displayed in the section
Whether the current option is default hidden
The name of the anchor
Minimum length: 1
The icon to be displayed in the section
light
string matching ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$
The color in hex format to use in light mode
Must match pattern: ^#([a-fA-F0-9]|[a-fA-F0-9])$
dark
string matching ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$
The color in hex format to use in dark mode
Must match pattern: ^#([a-fA-F0-9]|[a-fA-F0-9])$
Whether the current option is default hidden
A valid path or external link
The name of the dropdown
Minimum length: 1
The icon to be displayed in the section
Whether the current option is default hidden
pages
array of string or object
Footer configurations
An object in which each key is the name of a social media platform, and each value is the url to your profile. For example:
Valid property names: x
, website
, facebook
, youtube
, discord
, slack
, github
, linkedin
, instagram
, hacker-news
, medium
, telegram
, twitter
, x-twitter
, earth-americas
, bluesky
, threads
, reddit
, podcast
The links to be displayed in the footer
The header title of the column
Minimum length: 1
The links to be displayed in the column
The label of the link
Minimum length: 1
Banner configurations
The content of the banner. This can be a string of text or a markdown string. For example:
Whether the banner is dismissible. Defaults to false
.
options
array of "copy" | "view" | "chatgpt" | "claude"
required
The options to be displayed in the contextual menu. The first option is the default option.
copy
: Copy the current page as markdown to the clipboard
view
: View the current page as markdown in a new tab
chatgpt
: Feed the current page to ChatGPT
claude
: Feed the current page to Claude
The contextual menu is only available on preview & production deployments.
API Configurations
API reference configuration and playground settings
openapi
string or array or object
A string or an array of strings of absolute or relative urls pointing to the OpenAPI file(s)
no starting slash in the directory
asyncapi
string or array or object
A string or an array of strings of absolute or relative urls pointing to the AsyncAPI file(s)
Configurations for the API playground
display
"interactive" | "simple" | "none"
The display mode of the API playground. Defaults to interactive
.
Whether to pass API requests through a proxy server. Defaults to true
.
Configurations for the autogenerated API examples
Example languages for the autogenerated API snippets
Whether to show optional parameters in api examples, defaults to all
Configurations for API pages generated from MDX files
Authentication configuration for the API
method
"bearer" | "basic" | "key" | "cobo"
Authentication method for the API
Authentication name for the API
SEO & Search
SEO indexing configurations
Meta tags added to every page. Must be a valid key-value pair. Possible options here
Specify which pages to be indexed by search engines. Setting navigable
indexes pages that are set in navigation, all
indexes all pages. Defaults to navigable
.
Search display settings
The prompt to be displayed in the search bar placeholder
Integrations
Configurations for official integrations
measurementId
string matching ^G
required
tagId
string matching ^G
required
apiKey
string matching ^phc\_
required
Must match pattern: ^phc_
Errors
Whether to redirect to the home page, if the page is not found
Best Practices
When configuring your docs.json
file, consider these best practices:
Keep the configuration organized by grouping related settings together
Use meaningful names for groups and pages in your navigation structure
Provide complete paths for all assets (logos, favicons, etc.)
Test your configuration in both light and dark modes
Verify all external links and integrations are correctly configured
Use appropriate color contrasts for accessibility
Configure SEO settings for better search engine visibility
Validation
The docs.json
file is validated against a JSON schema to ensure proper configuration. You can reference the schema by including: