Config Reference

This reference mirrors the exported TypeScript types from src/config.ts.

Root Config

TypeKeys
UserConfigtitle, description, hostname, base, srcDir, outDir, publicDir, srcExclude, cleanUrls, ignoreDeadLinks, routeManifest, head, theme, assets, themeConfig, carve, shiki, search, blog, feed, redirects, robots, rewrites, islands, substitutions, extensions, layouts, locales, dev
CarvePressConfigNormalized form of UserConfig; all defaulted keys are present.

Theme Types

TypeShape
ThemeLogostring | { light: string; dark: string; alt?: string }
OutlineSettingfalse | number | [number, number] | 'deep'
ThemeAssetsConfig{ css?: string; extraCss?: string[] }
ThemeLabelssearch, previous, next, lastUpdated, onThisPage, pageNotFound, copy, copied, menu
ThemeConfignav, sidebar, social links, logo, site title, edit link, footer, last updated, social image, outline, and labels.

Content Types

TypeShape
HeadTag[tag: string, attrs: Record<string, string>]
CarvePreset'minimal' | 'docs' | 'full'
ShikiLanguagestring | LanguageRegistration
ShikiConfig{ langs: ShikiLanguage[]; themes: { light: string; dark: string }; lineNumbers: boolean | number }
SearchConfigfalse | { filename: string; exclude: string[] }
DevConfig{ incremental: boolean }; dev-server-only render reuse, default false.

Locale Types

TypeShape
LocaleConfig{ lang: string; label: string; title?: string; description?: string; themeConfig?: LocaleThemeConfig }
LocaleThemeConfigOptional locale overrides for nav, sidebar, footer, edit link, outline, and labels.

Extension Types

TypeShape
SiteExtension{ name: string; setup(bus: BuildEventBus): void }
Layout(ctx: LayoutContext) => string

For defaults and examples, use Configuration.

Edit this page

Last updated