notabene · note this well
EN
On this page

Configuration keys

notabene.config.mjs is a data-only ES module at your repo root; every key is optional. The narrative version with examples is in the configuration guide.

KeyDefaultMeaning
siteName / tagline"Docs" / "docs"Header brand
locale"en"UI language + nav sort collation
format"mdx""mdx" (.mdx strict + .md lenient) or "commonmark" (no MDX at all). init scaffolds "commonmark"
roots[][{docs}]Doc spaces: { key, label, path, exclude, description, publish }. label/description accept a per-locale map with i18n; publish: false keeps the space out of public builds
store"docs/.notabene"Comments + journal folder — commit it (contract)
homeCustom landing page: a repo-relative Markdown file (or per-locale map) rendered above the space cards on /
brandingIdentity assets: { logo, logoDark, favicon, socialImage }, repo-relative files served at /_nb/…. Unset favicon → a built-in default mark
themeLook customization: { tokens, css, assets, code }--nb-* token overrides (validated; a typo throws), a stylesheet loaded after the renderer’s (cascade-layer-safe), a repo folder served at /_nb/assets/… for fonts/images (extension allow-list, no traversal), a Shiki theme for code ("github-light" or { light, dark } — dual palettes follow the scheme toggle), and mermaid: false to keep Mermaid’s own diagram palette
navOutbound links: { header[], sidebar: { title, links[] }, footer: { links[], text, poweredBy } }. One item shape — { label, href, icon, iconOnly, publish }; label accepts a per-locale map, publish: false keeps a link out of public builds. Validated at load (scheme allow-list, icon names, duplicates)
port3009astro dev port
hostfalsetrue/NOTABENE_HOST=1/--host exposes the write API to the LAN (safety)
verify[][]Post-edit checks the agent runs (the renderer build always runs)
review"auto""auto" = agent resolves comments; "approve" = agent proposes (addressed), you validate each at /review with a diff (review loop)
authorgit user.nameDefault comment author; each browser overrides it per-device via the identity dialog
authorEmailgit user.emailDefault author email; embedded git-style (Name <email>) so identities stay unique
editPattern“Edit this page” link under every doc page: a URL with a {path} placeholder (repo-relative source path), e.g. https://github.com/o/r/edit/main/{path}. Placeholder required — validated at load
pdf{ enabled: true, pageSize: "A4", margin: "18mm" }PDF exportenabled toggles the Export menu + /print routes; pageSize/margin set the @page box
i18nMulti-language docs: { locales, defaultLocale, strategy: "directory"|"suffix" }. Omit for one language
publishPublic build target: { site, base, exclude }. site optional — omitted = origin-agnostic artifact

CLI/env overrides

--site/--base override publish.site/publish.base; NOTABENE_HOST=1 matches host: true; the CLI passes the repo’s git identity as the author/authorEmail fallback. Nothing else is configurable outside this file.

Updated Edit this page