diff --git a/quickstart.mdx b/quickstart.mdx index 536b48cc0..3dd52da63 100644 --- a/quickstart.mdx +++ b/quickstart.mdx @@ -224,16 +224,19 @@ Enter your domain (for example, `docs.yourcompany.com`) and follow the provided Congratulations! You have successfully deployed your documentation site with Mintlify. Here are suggested next steps to enhance your documentation: - + + Configure site-wide styling, navigation, integrations, and more with the `docs.json` file. + + Learn how to customize colors, fonts, and the overall appearance of your documentation site. - + Structure your documentation with intuitive navigation to help users find what they need. - + Enhance your documentation with interactive components like accordions, tabs, and code samples. - + Create interactive API references with OpenAPI and AsyncAPI specifications. diff --git a/settings.mdx b/settings.mdx index 8645fb08a..bfa449fd0 100644 --- a/settings.mdx +++ b/settings.mdx @@ -1,32 +1,55 @@ --- -title: "Settings" -description: "Configure the global settings for your documentation" +title: "Global Settings" +description: "Configure site-wide settings with the `docs.json` file" icon: "settings-2" keywords: ["docs.json", "settings", "customization", "configuration"] --- -Every documentation site requires a **docs.json** file. +The `docs.json` file lets you turn a collection of Markdown files into a navigable, customized documentation site. This required configuration file controls styling, navigation, integrations, and more. -This file contains the global configuration settings and controls everything from styling and navigation to integrations. +Settings in `docs.json` apply globally to all pages. + +## Setting up your `docs.json` + +To get started, you only need to specify `theme`, `name`, `colors.primary`, and `navigation`. Other fields are optional and you can add them as your documentation needs grow. + +For the best editing experience, include the schema reference at the top of your `docs.json` file. This enables autocomplete, validation, and helpful tooltips in most code editors: + +```json +{ + "$schema": "https://mintlify.com/docs.json", + "theme": "mint", + "name": "Your Docs", + "colors": { + "primary": "#ff0000" + }, + "navigation": { + // Your navigation structure + }, + // The rest of your configuration +} +``` ## Reference -This section contains the full reference for the docs.json file. +This section contains the full reference for the `docs.json` file. ### Customization - One of the following: `mint`, `maple`, `palm`, `willow`, `linden`, `almond`. + The layout theme of your site. - The layout theme of the project. Check out the [Themes](themes) page for more information. + One of the following: `mint`, `maple`, `palm`, `willow`, `linden`, `almond`. + + See [Themes](themes) for more information. - The name of the project, organization, or product + The name of your project, organization, or product. - The colors to use in your documentation. At the very least, you must define the primary color. For example: + The colors to use in your documentation. A primary color is required. For example: ```json { "colors": { @@ -37,126 +60,133 @@ This section contains the full reference for the docs.json file. - The primary color of the theme + The primary color of your theme. - Must be a hex code beginning with `#` + Must be a hex code beginning with `#`. - The light color of the theme. Used for dark mode + Primary color variant for light mode. - Must be a hex code beginning with `#` + Must be a hex code beginning with `#`. - The dark color of the theme. Used for light mode + Primary color variant for dark mode. - Must be a hex code beginning with `#` + Must be a hex code beginning with `#`. - Optional description used for SEO and LLM indexing + Description of your site for SEO and AI indexing. - The logo (for both light and dark mode) + Your 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 your logo file for light mode. Include 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` + Path pointing to your logo file for dark mode. Include 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 URL to redirect to when clicking the logo. If not provided, the logo will link to your homepage. Example: `https://mintlify.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 to your favicon file, including the file extension. Automatically resized to appropriate favicon sizes. + Can be a single file or separate files 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 to your favicon file for light mode. Include 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` + Path to your favicon file for dark mode. Include the file extension. Example: `/favicon-dark.png` - Styling configurations + Visual styling configurations. - The eyebrows style of the content. Defaults to `section`. + The style of the page eyebrow. Choose `section` to show the section name or `breadcrumbs` to show the full navigation path. Defaults to `section`. - The codeblock theme. Defaults to `system`. + The theme of the code blocks. Choose `system` to match the site theme or `dark` for always dark code blocks. Defaults to `system`. - Icon library settings + Icon library settings. - The icon library to be used. Defaults to `fontawesome`. + Icon library to use throughout your documentation. Defaults to `fontawesome`. + + + You can specify a URL for any individual icon, regardless of the library setting. + + Font configuration for your documentation. - The font family, such as "Open Sans", "Playfair Display" + 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. + Font weight, such as 400 or 700. Variable fonts support precise weights such as 550. - The font source, such as https://mintlify-assets.b-cdn.net/fonts/Hubot-Sans.woff2 + URL to your font source, such as https://mintlify-assets.b-cdn.net/fonts/Hubot-Sans.woff2. - The font format, can be one of woff, woff2 + Font file format. + Override font settings specifically for headings. - The font family, such as "Open Sans", "Playfair Display" + 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. + Font weight, such as 400, 700. Variable fonts support precise weights such as 550. - The font source, such as https://mintlify-assets.b-cdn.net/fonts/Hubot-Sans.woff2 + URL to your font source, such as https://mintlify-assets.b-cdn.net/fonts/Hubot-Sans.woff2. - The font format, can be one of woff, woff2 + Font file format. + Override font settings specifically for body text. - The font family, such as "Open Sans", "Playfair Display" + 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. + Font weight, such as 400, 700. Variable fonts support precise weights such as 550. - The font source, such as https://mintlify-assets.b-cdn.net/fonts/Hubot-Sans.woff2 + URL to your font source, such as https://mintlify-assets.b-cdn.net/fonts/Hubot-Sans.woff2. - The font format, can be one of woff, woff2 + Font file format. @@ -165,47 +195,50 @@ This section contains the full reference for the docs.json file. - Light / dark mode toggle settings + Light/dark mode toggle settings. - The default light/dark mode. Defaults to `system` + Default theme mode. Choose `system` to match users' OS settings, or `light` or `dark` to force a specific mode. Defaults to `system`. - Whether to hide the light / dark mode toggle. Defaults to `true`. + Whether to hide the light/dark mode toggle. Defaults to `true`. - Background color and decoration settings + Background color and decoration settings. + Background image for your site. Can be a single file or separate files for light and dark mode. + Path to your background image for light mode. Include the file extension. Example: `/background.png`. + Path to your background image for dark mode. Include the file extension. Example: `/background-dark.png`. - The background decoration of the theme + Background decoration for your theme. - The colors of the background + Custom background colors for light and dark modes. - The color in hex format to use in light mode - - Must match pattern: ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$ + Background color for light mode. + + Must be a hex code beginning with `#`. - The color in hex format to use in dark mode - - Must match pattern: ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$ + Background color for dark mode. + + Must be a hex code beginning with `#`. @@ -216,34 +249,36 @@ This section contains the full reference for the docs.json file. ### Structure - Navbar content and settings + Navigation bar items. - The links in the navbar + Links to display in the navbar - The display text for a link. + Text for the link. - A valid path or external link. + URL or path for the link destination. - The icon displayed for a link. Can be a URL, Font Awesome icon, or Lucide icon. + Icon for the link. Can be a URL (relative or external), Font Awesome icon, or Lucide icon. + Primary button in the navbar. + Button style. Choose `button` for a standard button with a label or `github` for a link to a GitHub repository with icon. - The label for the primary button. This only applies when `type` is set to `button`. + Button text. Only applies when `type` is `button`. - A valid path or external link. If `type` is set to `github`, this will be the URL to the repository. + Button destination. Must be a valid path or external URL. If `type` is `github`, must be a GitHub repository URL. @@ -252,150 +287,157 @@ This section contains the full reference for the docs.json file. - The navigation structure of the content + The navigation structure of your content. - Add external links that will appear on all sections and pages irregardless of navigation nesting + Global navigation elements that appear accross all pages and sections. + Language switcher configuration for multi-language sites. - The name of the language in the ISO 639-1 format + Language code in ISO 639-1 format - Whether this language is the default language + Whether this is the default language. - Whether the current option is default hidden + Whether to hide this language option by default. - A valid path or external link + A valid path or external link to this language version of your documentation. + Version switcher configuration for multi-version sites. - The name of the version + Display name of the version. Minimum length: 1 - Whether this version is the default version + Whether this is the default version. - Whether the current option is default hidden + Whether to hide this version option by default. - An external link + URL or path to this version of your documentation. + Top-level navigation tabs for organizing major sections. - The name of the tab + Display name of the tab. Minimum length: 1 - The icon to be displayed in the section + Icon for the tab. Can be a URL (relative or external), Font Awesome icon, or Lucide icon. - Whether the current option is default hidden + Whether to hide this tab by default. - An external link + URL or path for the tab destination. + Anchored links that appear prominently in the sidebar navigation. - The name of the anchor + Display name of the anchor. Minimum length: 1 - The icon to be displayed in the section + Icon for the anchor. Can be a URL (relative or external), Font Awesome icon, or Lucide icon. + Custom colors for the anchor. - The color in hex format to use in light mode - - Must match pattern: ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$ + Anchor color for light mode. + + Must be a hex code beginning with `#`. - The color in hex format to use in dark mode - - Must match pattern: ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$ + Anchor color for dark mode. + + Must be a hex code beginning with `#`. - Whether the current option is default hidden + Whether to hide this anchor by default. - A valid path or external link + URL or path for the anchor destination. + Dropdown menus for organizing related content. + - The name of the dropdown + Display name of the dropdown. Minimum length: 1 - The icon to be displayed in the section + Icon for the dropdown. Can be a URL (relative or external), Font Awesome icon, or Lucide icon. - Whether the current option is default hidden + Whether to hide this dropdown by default. - An external link + URL or path for the dropdown destination. - Organizing by [languages](navigation#localization) + Language switcher for [multi-language](navigation#languages) sites. - Organizing by [versions](navigation#versions) + Version switcher for sites with multiple [versions](navigation#versions). - Organizing by [tabs](navigation#divisions#tabs) + Top-level navigation [tabs](navigation#tabs). - Organizing by [anchors](navigation#divisions#anchors) + Sidebar [anchors](navigation#anchors). - Organizing by [dropdowns](navigation#divisions#dropdowns) + [Dropdowns](navigation#dropdowns) for grouping related content. - Organizing by [groups](navigation#pages#pages) + [Groups](navigation#groups) for organizing content into sections. - An array of [page paths or groups](navigation#pages#groups) + Individual [pages](navigation#pages) that make up your documentation. @@ -403,11 +445,11 @@ This section contains the full reference for the docs.json file. - Footer configurations + Footer content and social media links. - 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: + Social media profiles to display in the footer. Each key is a platform name and each value is your profile URL. For example: ```json { "x": "https://x.com/mintlify" @@ -417,25 +459,25 @@ This section contains the full reference for the docs.json file. 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 + Links to display in the footer. - The header title of the column + Header title for the column. Minimum length: 1 - The links to be displayed in the column + Links to display in the column. - The label of the link + Link text. Minimum length: 1 - The url of the link + Link destination URL. @@ -446,11 +488,11 @@ This section contains the full reference for the docs.json file. - Banner configurations + Site-wide banner displayed at the top of pages. - The content of the banner. This can be a string of text or a markdown string. For example: + The content of the banner. Supports plain text and Markdown formatting. For example: ```json { "content": "🚀 Banner is live! [Learn more](mintlify.com)" @@ -458,37 +500,43 @@ This section contains the full reference for the docs.json file. ``` - Whether the banner is dismissible. Defaults to `false`. + Whether users can dismiss the banner. Defaults to `false`. + Redirects for moved, renamed, or deleted pages. + Source path to redirect from. Example: `/old-page` + Destination path to redirect to. Example: `/new-page` + Whether to use a permanent redirect (301). Defaults to `true`. + Contextual menu for AI-optimized content and integrations. + - 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 + Actions available in the contextual menu. The first option appears as the default. + - `copy`: Copy the current page as Markdown to the clipboard. + - `view`: View the current page as Markdown in a new tab. + - `chatgpt`: Send the current page content to ChatGPT. + - `claude`: Send the current page content to Claude. Contextual Menu - - The contextual menu is only available on preview & production deployments. - + + The contextual menu is only available on preview and production deployments. + @@ -496,45 +544,52 @@ This section contains the full reference for the docs.json file. ### API Configurations - API reference configuration and playground settings + API documentation and interactive playground settings. - A string or an array of strings of absolute or relative urls pointing to the OpenAPI file(s) + OpenAPI specification files for generating API documentation. Can be a single URL/path or an array of URLs/paths. - + URL or path to your OpenAPI specification file. + Minimum length: 1 - no starting slash in the directory + Directory to search for OpenAPI files. + + Do not include a leading slash. - A string or an array of strings of absolute or relative urls pointing to the AsyncAPI file(s) + AsyncAPI specification files for generating API documentation. Can be a single URL/path or an array of URLs/paths. + URL or path to your AsyncAPI specification file. Minimum length: 1 + Directory to search for AsyncAPI files. + + Do not include a leading slash. - Configurations for the API parameters + Display settings for API parameters. - The view mode of expandable API parameters. Defaults to `closed`. + Whether to expand all parameters by default. Defaults to `closed`. - Configurations for the API playground + API playground settings. @@ -546,34 +601,35 @@ This section contains the full reference for the docs.json file. - Configurations for the autogenerated API examples + Configurations for the autogenerated API examples. Example languages for the autogenerated API snippets - Whether to show optional parameters in api examples, defaults to `all` + Whether to show optional parameters in API examples. Defaults to `all`. - Configurations for API pages generated from MDX files + Configurations for API pages generated from `MDX` files. - Authentication configuration for the API + Authentication configuration for MDX-based API requests. - Authentication method for the API + Authentication method for API requests. - Authentication name for the API + Authentication name for API requests. + Server configuration for API requests. @@ -581,27 +637,27 @@ This section contains the full reference for the docs.json file. -### SEO & Search +### SEO and search - SEO indexing configurations + SEO indexing configurations. - Meta tags added to every page. Must be a valid key-value pair. Possible options [here](https://mintlify.com/docs/settings/seo#supported-meta-tags) + Meta tags added to every page. Must be a valid key-value pair. See [common meta tags reference](/settings/seo#common-meta-tags-reference) for options. - 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`. + Specify which pages search engines should index. Choose `navigable` to index only pages that are in your `docs.json` navigation or choose `all` to index every page. Defaults to `navigable`. - Search display settings + Search display settings. - The prompt to be displayed in the search bar placeholder + Placeholder text to display in the search bar. @@ -609,157 +665,201 @@ This section contains the full reference for the docs.json file. ### Integrations - Configurations for official integrations + Third-party integrations. + Amplitude analytics integration. + Your Amplitude API key. - + Clearbit data enrichment integration. + + Your Clearbit API key. - + Fathom analytics integration. + + Your Fathom site ID. - + Front chat integration. + + Your Front chat snippet ID. Minimum length: 6 - + Google Analytics 4 integration. + - + Your Google Analytics 4 measurement ID. + Must match pattern: ^G - + Google Tag Manager integration. + - + Your Google Tag Manager tag ID. + Must match pattern: ^G - + Heap analytics integration. + + Your Heap app ID. - + Hotjar integration. + + Your Hotjar ID. + Your Hotjar script version. - + Intercom integration. + - + Your Intercom app ID. + Minimum length: 6 - + Koala integration. + - + Your Koala public API key. + Minimum length: 2 - + LogRocket integration. + + Your LogRocket app ID. + Mixpanel integration. + Your Mixpanel project token. - + Osano integration. + + Your Osano script source. - + Pirsch analytics integration. + + Your Pirsch ID. - + PostHog integration. + - + Your PostHog API key. + Must match pattern: ^phc\_ + Your PostHog API host. - + Plausible analytics integration. + + Your Plausible domain. + Your Plausible server. + Segment integration. + + Your Segment key. - + Telemetry settings. + + Whether to enable telemetry. + Cookie settings. + + Key for cookies. + Value for cookies. @@ -769,25 +869,511 @@ This section contains the full reference for the docs.json file. ### Errors + Error handling settings. + + 404 "Page not found" error handling. + - Whether to redirect to the home page, if the page is not found + Whether to automatically redirect to the home page when a page is not found. - -## Validation - -It is advised to include the following schema reference at the top of your docs.json file to ensure proper validation while editing: - -```json -{ - "$schema": "https://mintlify.com/docs.json" - /*...*/ -} -``` +## Examples + + + + ```json title="docs.json" wrap lines + { + "$schema": "https://mintlify.com/docs.json", + "theme": "maple", + "name": "Example Co.", + "description": "Example Co. is a company that provides example content and placeholder text.", + "colors": { + "primary": "#3B82F6", + "light": "#F8FAFC", + "dark": "#0F172A" + }, + "navigation": { + "dropdowns": [ + { + "dropdown": "Documentation", + "icon": "book", + "description": "How to use the Example Co. product", + "groups": [ + { + "group": "Getting started", + "pages": [ + "index", + "quickstart" + ] + }, + { + "group": "Customization", + "pages": [ + "settings", + "users", + "features" + ] + }, + { + "group": "Billing", + "pages": [ + "billing/overview", + "billing/payments", + "billing/subscriptions" + ] + } + ] + }, + { + "dropdown": "Changelog", + "icon": "history", + "description": "Updates and changes", + "pages": [ + "changelog" + ] + } + ] + }, + "logo": { + "light": "/logo-light.svg", + "dark": "/logo-dark.svg", + "href": "https://example.com" + }, + "navbar": { + "links": [ + { + "label": "Community", + "href": "https://example.com/community" + } + ], + "primary": { + "type": "button", + "label": "Get Started", + "href": "https://example.com/start" + } + }, + "footer": { + "socials": { + "x": "https://x.com/example", + "linkedin": "https://www.linkedin.com/company/example", + "github": "https://github.com/example", + "slack": "https://example.com/community" + }, + "links": [ + { + "header": "Resources", + "items": [ + { + "label": "Customers", + "href": "https://example.com/customers" + }, + { + "label": "Enterprise", + "href": "https://example.com/enterprise" + }, + { + "label": "Request Preview", + "href": "https://example.com/preview" + } + ] + }, + { + "header": "Company", + "items": [ + { + "label": "Careers", + "href": "https://example.com/careers" + }, + { + "label": "Blog", + "href": "https://example.com/blog" + }, + { + "label": "Privacy Policy", + "href": "https://example.com/legal/privacy" + } + ] + } + ] + }, + "integrations": { + "ga4": { + "measurementId": "G-XXXXXXXXXX" + }, + "koala": { + "publicApiKey": "pk_example_key_123" + }, + "telemetry": { + "enabled": true + }, + "cookies": { + "key": "example_cookie_key", + "value": "example_cookie_value" + } + }, + "contextual": { + "options": [ + "copy", + "view", + "chatgpt", + "claude" + ] + }, + "errors": { + "404": { + "redirect": true + } + } + } + ``` + + + ```json title="docs.json" wrap lines highlight={43-61, 72-79} + { + "$schema": "https://mintlify.com/docs.json", + "theme": "maple", + "name": "Example Co.", + "description": "Example Co. is a company that provides example content and placeholder text.", + "colors": { + "primary": "#3B82F6", + "light": "#F8FAFC", + "dark": "#0F172A" + }, + "navigation": { + "dropdowns": [ + { + "dropdown": "Documentation", + "icon": "book", + "description": "How to use the Example Co. product", + "groups": [ + { + "group": "Getting started", + "pages": [ + "index", + "quickstart" + ] + }, + { + "group": "Customization", + "pages": [ + "settings", + "users", + "features" + ] + }, + { + "group": "Billing", + "pages": [ + "billing/overview", + "billing/payments", + "billing/subscriptions" + ] + } + ] + }, + { + "dropdown": "API reference", + "icon": "terminal", + "description": "How to use the Example Co. API", + "groups": [ + { + "group": "API reference", + "pages": [ + "api-reference/introduction" + ] + }, + { + "group": "Endpoints", + "openapi": { + "source": "openapi.json" + } + } + ] + }, + { + "dropdown": "Changelog", + "icon": "history", + "description": "Updates and changes", + "pages": [ + "changelog" + ] + } + ] + }, + "api": { + "playground": { + "display": "interactive" + }, + "examples": { + "languages": ["javascript", "curl", "python"] + } + }, + "logo": { + "light": "/logo-light.svg", + "dark": "/logo-dark.svg", + "href": "https://example.com" + }, + "navbar": { + "links": [ + { + "label": "Community", + "href": "https://example.com/community" + } + ], + "primary": { + "type": "button", + "label": "Get Started", + "href": "https://example.com/start" + } + }, + "footer": { + "socials": { + "x": "https://x.com/example", + "linkedin": "https://www.linkedin.com/company/example", + "github": "https://github.com/example", + "slack": "https://example.com/community" + }, + "links": [ + { + "header": "Resources", + "items": [ + { + "label": "Customers", + "href": "https://example.com/customers" + }, + { + "label": "Enterprise", + "href": "https://example.com/enterprise" + }, + { + "label": "Request Preview", + "href": "https://example.com/preview" + } + ] + }, + { + "header": "Company", + "items": [ + { + "label": "Careers", + "href": "https://example.com/careers" + }, + { + "label": "Blog", + "href": "https://example.com/blog" + }, + { + "label": "Privacy Policy", + "href": "https://example.com/legal/privacy" + } + ] + } + ] + }, + "integrations": { + "ga4": { + "measurementId": "G-XXXXXXXXXX" + }, + "koala": { + "publicApiKey": "pk_example_key_123" + }, + "telemetry": { + "enabled": true + }, + "cookies": { + "key": "example_cookie_key", + "value": "example_cookie_value" + } + }, + "contextual": { + "options": [ + "copy", + "view", + "chatgpt", + "claude" + ] + }, + "errors": { + "404": { + "redirect": true + } + } + } + ``` + + + ```json title="docs.json" wrap lines highlight={13-31} + { + "$schema": "https://mintlify.com/docs.json", + "theme": "maple", + "name": "Example Co.", + "description": "Example Co. is a company that provides example content and placeholder text.", + "colors": { + "primary": "#3B82F6", + "light": "#F8FAFC", + "dark": "#0F172A" + }, + "navigation": { + "global": { + "languages": [ + { + "language": "en", + "default": true, + "href": "/en" + }, + { + "language": "es", + "href": "/es" + }, + { + "language": "pt-BR", + "href": "/pt-BR" + }, + { + "language": "ko", + "href": "/ko" + } + ], + "dropdowns": [ + { + "dropdown": "Documentation", + "icon": "book", + "description": "How to use the Example Co. product", + "groups": [ + { + "group": "Getting started", + "pages": [ + "index", + "quickstart" + ] + }, + { + "group": "Customization", + "pages": [ + "settings", + "users", + "features" + ] + }, + { + "group": "Billing", + "pages": [ + "billing/overview", + "billing/payments", + "billing/subscriptions" + ] + } + ] + }, + { + "dropdown": "Changelog", + "icon": "history", + "description": "Updates and changes", + "pages": [ + "changelog" + ] + } + ] + } + }, + "logo": { + "light": "/logo-light.svg", + "dark": "/logo-dark.svg", + "href": "https://example.com" + }, + "navbar": { + "links": [ + { + "label": "Community", + "href": "https://example.com/community" + } + ], + "primary": { + "type": "button", + "label": "Get Started", + "href": "https://example.com/start" + } + }, + "footer": { + "socials": { + "x": "https://x.com/example", + "linkedin": "https://www.linkedin.com/company/example", + "github": "https://github.com/example", + "slack": "https://example.com/community" + }, + "links": [ + { + "header": "Resources", + "items": [ + { + "label": "Customers", + "href": "https://example.com/customers" + }, + { + "label": "Enterprise", + "href": "https://example.com/enterprise" + }, + { + "label": "Request Preview", + "href": "https://example.com/preview" + } + ] + }, + { + "header": "Company", + "items": [ + { + "label": "Careers", + "href": "https://example.com/careers" + }, + { + "label": "Blog", + "href": "https://example.com/blog" + }, + { + "label": "Privacy Policy", + "href": "https://example.com/legal/privacy" + } + ] + } + ] + }, + "integrations": { + "ga4": { + "measurementId": "G-XXXXXXXXXX" + }, + "koala": { + "publicApiKey": "pk_example_key_123" + }, + "telemetry": { + "enabled": true + }, + "cookies": { + "key": "example_cookie_key", + "value": "example_cookie_value" + } + }, + "contextual": { + "options": [ + "copy", + "view", + "chatgpt", + "claude" + ] + }, + "errors": { + "404": { + "redirect": true + } + } + } + ``` + +