Skip to main content

Theme Config

Full reference for the themeConfig section of docusaurus.config.ts. These options control site metadata, navigation, footer, color mode, and content display.

Top-Level Structure

themeConfig: {
  site: { /* ... */ },
  colorMode: { /* ... */ },
  navbar: { /* ... */ },
  docs: { /* ... */ },
  blog: { /* ... */ },
  tableOfContents: { /* ... */ },
  announcementBar: { /* ... */ },
  footer: { /* ... */ },
  backToTopButton: true,
  mermaid: { /* ... */ },
},

Site

OptionTypeDefaultDescription
site.titlestring''Site title for browser tab and SEO.
site.logoobject{}Logo configuration.
site.logo.altstring''Logo alt text.
site.logo.srcstring''Logo icon image source path.
site.logo.srcDarkstring | undefinedundefinedLogo icon source for dark mode.
site.logo.hrefstring | undefinedundefinedLogo click URL.
site.logo.wordmarkstring | undefinedundefinedWordmark image source path (full logo with text).
site.logo.wordmarkDarkstring | undefinedundefinedWordmark source for dark mode.
site.logo.titlestring | undefinedundefinedBrand title text shown in navbar.
site.imagestring''Default social/SEO image path.
site.metadataArray<{ name: string, content: string }>[]Additional meta tags.

Color Mode

OptionTypeDefaultDescription
colorMode.defaultMode'system' | 'light' | 'dark''system'Default color mode on first visit.
colorMode.disableSwitchbooleanfalseHide the color mode toggle. Setting defaultMode to 'system' already respects OS preference.
OptionTypeDefaultDescription
navbar.titlestring | undefinedundefinedText label next to the logo.
navbar.hideOnScrollbooleanfalseHide the navbar when scrolling down.
navbar.itemsNavbarItem[][]Navigation items. See below.

Each item in the navbar.items array follows this structure:

PropertyTypeDescription
labelstringDisplay text.
position'left' | 'right'Side of the navbar.
type'docSidebar' | undefined'docSidebar' links to a sidebar, undefined for direct links.
sidebarIdstring | undefinedSidebar ID when type is 'docSidebar'.
tostring | undefinedInternal URL when type is undefined.
hrefstring | undefinedExternal URL when type is undefined.
iconstring | undefinedIconify icon identifier (e.g., 'lucide:rocket').

Docs

OptionTypeDefaultDescription
docs.versionPersistencestring'localStorage'Where to persist the active version.
docs.sidebar.hideablebooleanfalseAllow users to collapse the sidebar.
docs.sidebar.autoCollapseCategoriesbooleanfalseAuto-collapse other categories when one is expanded.

Blog

OptionTypeDefaultDescription
blog.sidebar.groupByYearbooleantrueGroup blog posts by year in the sidebar.
blog.layout.headingstring'Blog'Blog listing page heading.
blog.layout.descriptionstring''Blog listing page description.
blog.share.platformsstring[][]Share button platforms. Accepts x, facebook, linkedin, reddit, copy.

Table of Contents

OptionTypeDefaultDescription
tableOfContents.minHeadingLevelnumber2Minimum heading level to include in TOC.
tableOfContents.maxHeadingLevelnumber3Maximum heading level to include in TOC.

Announcement Bar

OptionTypeDefaultDescription
announcementBar.idstringUnique ID for dismiss persistence.
announcementBar.contentstringHTML content of the announcement.
announcementBar.backgroundColorstring | undefinedundefinedBackground color override.
announcementBar.textColorstring | undefinedundefinedText color override.
announcementBar.isCloseablebooleantrueWhether users can dismiss the bar.

Set to false to hide the footer entirely. Otherwise, provide an object:

OptionTypeDefaultDescription
footer.sectionsRecord<string, FooterLink[]>{}Named groups of footer links.
footer.layoutRecord<string, { title?, section }>{}Layout mapping for footer columns.
footer.socialLinksArray<{ icon: string, href: string, label: string }>[]Social media icon links.
footer.copyrightstring | undefinedundefinedCopyright text.
footer.creditbooleantrueShow "Built with Nova" credit.
footer.ctastring | undefinedundefinedCall-to-action text or HTML.

Back to Top Button

Docusaurus Pass-Through

This option is passed directly to Docusaurus and is not validated by the Nova preset schema.

OptionTypeDefaultDescription
backToTopButtonbooleantrueShow the back-to-top floating button.

Mermaid

OptionTypeDefaultDescription
mermaid.theme.darkstring'dark'Mermaid theme used in dark mode.
mermaid.theme.lightstring'default'Mermaid theme used in light mode.
mermaid.optionsobject{}Additional Mermaid configuration passed through to the Mermaid API.