Skip to content

Appearance

typography, layout, logo, favicon and customCss.

Optional fields that change how the site looks. Colors and template are required and documented in Required fields.

typography.headingsstring

Font family for headings, 1–200 characters.

typography.bodystring

Font family for body text.

typography.codestring

Font family for code.

layout.header-heightintegerdefault: 64

32–160.

layout.page-widthintegerdefault: 1280

640–1920.

layout.content-widthintegerdefault: 800

480–1600.

layout.sidebar-widthintegerdefault: 280

160–480.

Out-of-range values are a schema error, not silently clamped.

Omitting a layout field is not the same as setting it to the default. A value is emitted as CSS only when you set it explicitly; leave it out and the active template’s own baseline stays in control of that dimension. This matters on rapide (260px sidebar) and black (300px sidebar), which render at their own widths when sidebar-width is omitted. Set it explicitly to override. mint’s baseline already matches every default, so nothing changes there.

logo.lightpath

Logo for light mode.

logo.darkpath

Logo for dark mode.

logo.textstring

A text-only brand mark, 1–100 characters.

text is mutually exclusive with light/dark; setting both is a schema error.

Logos are rendered as images. An SVG using currentColor will not inherit a text colour through that path — supply two files with baked colours, or use logo.text.

faviconpath

Local file path.

customCsspath[]default: []

Local CSS files, appended after the template’s own styles.

logo, favicon, customCss and seo.ogImage are resolved relative to the directory docs.json lives in. There is no asset root convention to satisfy — a project can keep assets anywhere as long as the paths match. Existence is checked at reed check time, so a missing file fails before a build.

Values that are absolute URLs are left alone rather than resolved as paths.