Theme
Pick a layout theme and brand it with colors that adapt to light and dark mode
Your site's look lives under theme in docs.json: theme.name picks a
layout theme, and theme.colors brands it. Colors apply the same way in every
theme, in both light and dark mode.
Layout themes
Set theme.name to switch the site's layout. It defaults to reef, so
existing sites don't change:
{
"theme": {
"name": "harbour",
"colors": { "primary": "#0033A9" }
}
}reef— the classic documentation layout: product banners on the landing page, sidebar navigation, and section tabs. The default.harbour— a help-center layout: a centered landing page with a prominent search bar, Ask AI entry, and category cards, plus breadcrumbs above every article. Articles keep the full docs chrome.
Harbour options
Harbour looks finished with no extra configuration, but you can tune the
landing page under theme.harbour:
{
"theme": {
"name": "harbour",
"colors": { "primary": "#0033A9" },
"harbour": {
"heroTitle": "How can we help?",
"heroSubtitle": "Find answers, guides, and support for Acme.",
"popularSearches": ["billing", "webhooks", "refunds"],
"suggested": ["/payments/guides/quickstart", "/payments/guides/webhooks"]
}
}
}heroTitle/heroSubtitle— override the landing headline and subline.popularSearches— up to six short terms shown as chips under the search bar; each opens search. Omit to hide the row.suggested— up to four doc paths pinned as "Suggested articles" cards at the bottom of the landing page. Omit to hide the section.
Brand color
primary is the only required color. Everything else has a sensible default:
{
"theme": {
"colors": { "primary": "#0033A9" }
}
}Light & dark
Override the brand color per mode when the primary doesn't have enough contrast on a dark (or light) background:
{
"theme": {
"colors": {
"primary": "#0033A9",
"light": "#4D7CFF",
"dark": "#0033A9"
}
}
}lightis used for emphasis in dark mode.darkis used for buttons and hover states.
Both fall back to primary if you omit them.
Accent colors
Provide up to four accent colors, used for section accents across the site:
{
"theme": {
"colors": {
"primary": "#0033A9",
"accents": ["#F97316", "#10B981", "#8B5CF6", "#EC4899"]
}
}
}Status colors
Callouts (Note, Tip, Warning, Check, and errors) use status colors. Override any of them to match your brand:
{
"theme": {
"colors": {
"primary": "#0033A9",
"status": {
"info": "#2563EB",
"warning": "#D97706",
"error": "#DC2626",
"success": "#16A34A",
"idea": "#7C3AED"
}
}
}
}Next: localization
Ship your docs in more than one language.