CSS files inlined into every page after BASE_CSS. Use for --mb-* token overrides.
disableBaseCss
boolean
false
Skip Markbook's built-in chrome stylesheet entirely. Pair with layoutsDir to own the entire shell.
transformHtml
(html, page) => string | Promise<string>
(none)
Post-process every page's final HTML. Runs LAST — after layout substitution. Not needed for the common SEO fixes (index.html-free canonical / og:url, de-duplicated title, de-duplicated <meta description>) — those are automatic.
Framework adapter for :::story directives. Provided by @doidor/markbook-adapter-react (Vue + Web Components adapters are planned). Omit for markdown-only sites.
The default staticAdapter errors clearly if any page tries to use a story directive without an explicit adapter.
Build the Pagefind full-text index and render the search box. false skips Pagefind entirely (no pagefind/ output, empty {{ search }}, no UI script in {{ bodyEnd }}).
llmsButtons
boolean
true
"View as Markdown" / "Copy as Markdown" buttons above each article.
Set search: false for sites that don't need search, or on platforms where Pagefind's native binary can't run — notably ARM64 Linux with a 16K memory page size (e.g. Raspberry Pi 5), where it aborts with Unsupported system page size.