Site Configuration
Everything in null docs is configured through a single site.yaml file at the project root.
Site metadata
site:
name: "My Docs"
tagline: "Documentation for my project"
logo: "/logo.svg"
favicon: "/favicon.ico"
url: "https://docs.example.com"
repo: "https://github.com/user/repo"
| Field | Required | Description |
|---|---|---|
name | Yes | Site name shown in navigation |
tagline | Yes | Short description for SEO |
logo | Yes | Path to logo image (placed in public/) |
favicon | Yes | Path to favicon |
url | Yes | Production URL of your site |
repo | Yes | GitHub repository URL |
Theme
The theme section controls colors, fonts, and border radius across the entire site.
theme:
colors:
primary: "#6366f1"
secondary: "#ec4899"
background: "#f8f9fa"
surface: "#ffffff"
text: "#0f172a"
dark:
background: "#0f172a"
surface: "#1e293b"
text: "#f8fafc"
fonts:
heading: "Inter"
body: "Inter"
code: "JetBrains Mono"
radius: "lg"
Colors
| Color | Description |
|---|---|
primary | Brand color used for buttons, links, and accents |
secondary | Secondary accent color |
background | Page background color |
surface | Card and panel background color |
text | Primary text color |
dark.* | Override colors for dark mode |
Fonts
All three font fields accept any Google Fonts family name. The fonts are loaded automatically.
| Font | Description |
|---|---|
heading | Used for headings (h1–h6) |
body | Used for body text |
code | Used for code blocks and inline code |
Radius
Controls the border radius for buttons, cards, and inputs.
| Value | Result |
|---|---|
none | Sharp corners (0) |
sm | Slightly rounded (0.125rem) |
md | Medium rounded (0.375rem) |
lg | Rounded (0.5rem) |
full | Fully rounded (9999px) |
Navigation
nav:
links:
- label: "Docs"
href: "/docs"
- label: "GitHub"
href: "https://github.com/user/repo"
external: true
Each link has a label, href, and optional external flag (opens in new tab).
Docs configuration
docs:
defaultVersion: "v1"
versions:
- label: "v1"
path: "v1"
search:
enabled: true
placeholder: "Search docs..."
sidebar:
collapsible: true
toc:
minHeading: 2
maxHeading: 3
| Field | Description |
|---|---|
defaultVersion | Which version to show by default |
versions | List of available versions (label + content path) |
search.enabled | Enable/disable the search feature |
search.placeholder | Placeholder text for the search input |
sidebar.collapsible | Allow sidebar sections to collapse |
toc.minHeading | Minimum heading level for table of contents |
toc.maxHeading | Maximum heading level for table of contents |
Landing page
The landing page is built from an ordered list of sections. See Landing Page for the full section reference.