Choose the theme and color preset, control the table of contents, register icon sets, and tune link prefetching.
theme
| Key | Type | Default | Description |
|---|---|---|---|
name |
string | "default" |
Theme name. |
preset |
string | "" |
Color preset. Valid values: ocean, forest, rose, clean, minimal, docs, academic. |
dark |
bool | true |
Enable dark mode toggle. |
overrides |
map | {} |
Token overrides for light mode. Map of token name to CSS value. See Theme Tokens. |
dark_overrides |
map | {} |
Token overrides for dark mode only. Same format as overrides. |
primary_color |
string | "" |
Primary brand color (hex). Shorthand for setting the --sd-accent token. |
accent_color |
string | "" |
Accent color (hex). Sets --sd-accent and auto-derives hover/high/low variants. |
font_family |
string | "" |
Base font family CSS value. A single family name is quoted and given a generic fallback, see Shortcut fields. |
font_mono |
string | "" |
Monospace font family CSS value. |
font_heading |
string | "" |
Font family CSS value for h1 to h6. Sets the font-heading token. Headings use font_family when unset. |
font_scale |
number | 1 |
Multiplier for the text-xs to text-5xl size scale, from 0.5 to 2. Sets the text-scale token. |
web_fonts |
string | "" |
Loads the theme's fonts that are in the Google Fonts library and not bundled. Valid values: google (Google Fonts), bunny (Bunny Fonts). Empty loads none. The service receives each visitor's IP address. See Web fonts. |
code_light |
string | "" |
Syntax highlighting theme for light mode. |
code_dark |
string | "" |
Syntax highlighting theme for dark mode. |
date_format |
string | "short" |
Display format for the "last updated" date. See below. |
Date format
theme.date_format accepts three preset names or any Go layout string:
| Value | Renders as (English) |
|---|---|
short (default) |
Jan 2, 2006 |
long |
January 2, 2006 |
iso |
2006-01-02 |
| Any other value | Used verbatim as a Go layout, e.g. 2006/01/02 |
The short and long presets are locale-aware: on a multilingual site, each page renders the date in its own language using CLDR data, so a French page shows "1 juin 2025" while the English page shows "Jun 1, 2025". Around 30 common languages are supported out of the box; a language without built-in data falls back to the English format. iso is locale-independent, and a custom Go layout always renders English month names.
This controls only the "last updated" date rendered by the LastUpdated component. Other dates in the theme, such as blog post dates and list-page dates, use formats fixed by their templates; override those templates to change them.
The datetime attribute on the emitted <time> element is always ISO 8601 regardless of this setting, so the markup stays machine-readable. To change where the timestamp comes from rather than how it looks, see build.last_updated.
toc
Global table of contents display settings. These control which extracted headings appear in the TOC sidebar. Per-collection overrides are available under collections.<name>.toc. For controlling which headings are extracted (IDs, anchor links, link validation), see markdown.toc.
| Key | Type | Default | Description |
|---|---|---|---|
enabled |
bool | true |
Show the table of contents panel. |
min_level |
int | 2 |
Minimum heading level to display. Range: 1-6. Must be ≤ max_level. |
max_level |
int | 4 |
Maximum heading level to display. Range: 1-6. |
icons
| Key | Type | Default | Description |
|---|---|---|---|
default_prefix |
string | "lucide" |
Icon set used for names without a prefix. The bundled set is lucide. |
sets |
list | [] |
Additional Iconify JSON icon sets to load. |
sets_dir |
string | "" |
Directory of additional Iconify *.json sets, auto-discovered by filename prefix. |
local_dir |
string | "icons" |
Directory of local *.svg files, referenced by filename. |
attribution |
string | "" |
Attribution line for icon sets whose license requires it. |
render |
string | "inline" |
Rendering mode. inline outputs a full <svg> element per use. sprite renders one hidden <symbol> per unique icon and references it via <use>. |
Icon sets
Each entry in icons.sets:
| Key | Type | Default | Description |
|---|---|---|---|
prefix |
string | - | Icon set prefix (e.g., "mdi"). |
file |
string | - | Path to the Iconify JSON file. |
icons: sets: - prefix: mdi file: icons/mdi.jsonprefetch
| Key | Type | Default | Description |
|---|---|---|---|
enabled |
bool | true |
Enable link prefetching for faster navigation. |
strategy |
string | "hover" |
Prefetch trigger strategy. hover prefetches on mouse hover. visible prefetches links visible in the viewport. idle prefetches during idle time. |
delay |
int | 300 |
Delay in milliseconds before prefetching starts (for hover strategy). Min: 0. |