docs.json Reference
Complete configuration reference for your documentation site
The docs.json file is the central configuration for your Jamdesk documentation site.
Key settings from your docs.json are displayed in the Dashboard under Project Settings → Configuration Highlights. This view is read-only and updates automatically after each successful build.
Required Fields
name
Type: string (required)
Your documentation site's name. Displayed in the header and browser tab.
{ "name": "Acme API Docs" }
theme
Type: "jam" | "nebula" | "pulsar" (required)
Clean, modern design with Inter font. Header-based navigation.
Best for: Most documentation sites, API references
colors
Type: object (required)
| Field | Type | Required | Description |
|---|---|---|---|
primary | string (hex) | Yes | Main brand color |
light | string (hex) | No | Light theme accent |
dark | string (hex) | No | Dark theme accent |
{
"colors": {
"primary": "#635BFF",
"light": "#7C75FF",
"dark": "#4F46E5"
}
}
Branding
favicon
Type: string
Path to your favicon file (SVG recommended).
{ "favicon": "/images/favicon.svg" }
logo
Type: object
| Field | Type | Description |
|---|---|---|
light | string | Logo for light mode |
dark | string | Logo for dark mode |
href | string | URL when logo is clicked |
{
"logo": {
"light": "/images/logo-light.webp",
"dark": "/images/logo-dark.webp",
"href": "https://yoursite.com"
}
}
Navigation
hostAtDocs
This setting is controlled via the Dashboard project settings, not in docs.json.
When enabled in the dashboard, your site is served at /docs instead of the root. This is useful when hosting docs alongside a marketing site on the same domain.
tabsPosition
Type: "top" | "left"
Controls where navigation tabs are displayed.
| Value | Description |
|---|---|
"top" | Tabs appear in the header tab bar |
"left" | Tabs appear at the top of the sidebar |
Default value depends on your theme:
| Theme | Default |
|---|---|
| jam | "left" |
| nebula | "left" |
| pulsar | "top" |
{ "tabsPosition": "left" }
anchors
Type: array
External links that appear at the top of the sidebar on all pages.
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Display text |
href | string | Yes | URL (external link) |
icon | string | No | Font Awesome icon name |
{
"anchors": [
{ "name": "Blog", "href": "https://blog.example.com", "icon": "newspaper" }
]
}
navigation (structure)
Type: object
The navigation structure for your documentation. See Navigation for detailed documentation.
{
"navigation": {
"tabs": [
{
"tab": "Docs",
"icon": "book-open",
"groups": [
{
"group": "Getting Started",
"pages": ["introduction", "quickstart"]
}
]
}
]
}
}Navbar & Footer
navbar
Type: object
| Field | Type | Description |
|---|---|---|
links | array | Navigation links |
primary | object | Primary CTA button |
{
"navbar": {
"links": [
{ "label": "Blog", "href": "/blog" }
],
"primary": {
"type": "button",
"label": "Dashboard",
"href": "https://app.example.com"
}
}
}
footer
Type: object
Configure the page footer with social links and custom link columns.
{
"footer": {
"socials": {
"github": "https://github.com/yourorg",
"x": "https://x.com/yourhandle",
"discord": "https://discord.gg/yourserver"
},
"links": [
{
"header": "Resources",
"items": [
{ "label": "Blog", "href": "https://example.com/blog" },
{ "label": "Changelog", "href": "/changelog" }
]
}
]
}
}
| Field | Type | Description |
|---|---|---|
socials | object | Social media platform URLs |
links | array | Link column configurations |
links[].header | string | Column heading |
links[].items | array | Array of { label, href } objects |
Supported social platforms: github, x, twitter, linkedin, discord, slack, youtube, instagram, facebook, reddit, telegram, bluesky, threads, medium, hacker-news, website
Styling
styling.latex
Type: boolean
Enable LaTeX math rendering with KaTeX. When enabled, you can use $...$ for inline math and $$...$$ for block equations.
{
"styling": {
"latex": true
}
}
See Math & LaTeX for usage details.
Full Example
{
"$schema": "https://jamdesk.com/docs.json",
"name": "Acme Documentation",
"description": "Learn how to use Acme",
"theme": "jam",
"colors": {
"primary": "#635BFF"
},
"favicon": "/images/favicon.svg",
"logo": {
"light": "/images/logo-light.webp",
"dark": "/images/logo-dark.webp"
},
"styling": {
"latex": true
},
"anchors": [
{ "name": "Blog", "href": "https://blog.acme.com", "icon": "newspaper" }
],
"navbar": {
"links": [
{ "label": "Support", "href": "/support" }
],
"primary": {
"type": "button",
"label": "Dashboard",
"href": "https://app.acme.com"
}
},
"navigation": {
"tabs": [
{
"tab": "Docs",
"icon": "book-open",
"groups": [
{
"group": "Get Started",
"pages": ["introduction", "quickstart"]
}
]
},
{
"tab": "API Reference",
"icon": "code",
"groups": [
{
"group": "Endpoints",
"pages": ["api/users", "api/posts"]
}
]
}
]
}
}