site.json Reference #

File: content/site.json

Most common edits #

  • Brand: siteName, siteDescription, titleSuffix
  • Navbar brand: branding.display, branding.logoPath, branding.text
  • Browser tab icon: faviconPath
  • Default look: wikiPreset
  • Site-wide template style: defaultTemplate
  • Header behavior: header.showSearch, header.showDarkModeToggle, header.searchPlaceholder
  • Edit button: editPage.*
  • Shell width: layout.maxWidthClass, layout.sidebarWidthClass

Top-level keys #

KeyTypeRequiredDescription
siteNamestringYesPrimary site/brand name shown in UI.
siteDescriptionstringYesDefault site description used in metadata and docs context.
titleSuffixstringYesSuffix appended to page titles.
faviconPathstringYesIcon path for <link rel="icon"> (for example /favicon.png, /favicon.svg, /favicon.ico).
brandingobjectYesNavbar brand display configuration (logo/text mode and paths).
wikiPresetstringYesGlobal layout/theme preset (docs, minimal, portal).
defaultTemplatestringYesSite-wide default page template (overridable per page via frontmatter template).
headerobjectYesHeader behavior configuration object.
pageTemplatesobjectYesPage-template feature configuration.
editPageobjectYesPer-page “Edit this page” link configuration.
layoutobjectYesLayout sizing utility classes.

header keys #

Key pathTypeRequiredDescription
header.showSearchbooleanYesShows/hides the header search bar.
header.showDarkModeTogglebooleanYesShows/hides dark-mode toggle in header.
header.searchPlaceholderstringYesPlaceholder text for search input.

branding keys #

Key pathTypeRequiredDescription
branding.displaystringYesBrand mode: logo-and-text, logo-only, or text-only.
branding.logoPathstringYesPath/URL for brand image shown in navbar.
branding.logoAltstringYesAccessible alt text for the brand image.
branding.textstringYesBrand label shown when text mode is enabled.
branding.logoClassNamestringYesTailwind classes applied to the brand logo image.

pageTemplates keys #

Key pathTypeRequiredDescription
pageTemplates.enabledbooleanYesEnables frontmatter template overrides.
pageTemplates.defaultTemplatestringYesFallback template ID when no template is set.

editPage keys #

Key pathTypeRequiredDescription
editPage.enabledbooleanYesGlobal toggle for showing edit-page link.
editPage.providerstringYesURL builder provider (github by default).
editPage.repositorystringYesRepository slug (example: owner/repo).
editPage.branchstringYesBranch used in edit URL.
editPage.contentPathstringYesRepository folder containing docs content.
editPage.textstringYesLabel shown for edit-page link.
editPage.baseUrlstringNoOptional custom base URL for non-GitHub edit links.

layout keys #

Key pathTypeRequiredDescription
layout.maxWidthClassstringYesTailwind max-width utility for main container.
layout.sidebarWidthClassstringYesTailwind width utility for sidebar column.

Recipes #

1) Set default wiki preset #

json
{
"wikiPreset": "portal"
}

1b) Configure navbar brand and favicon #

json
{
"faviconPath": "/favicon.png",
"branding": {
"display": "logo-and-text",
"logoPath": "/logo.svg",
"logoAlt": "MyWiki logo",
"text": "MyWiki",
"logoClassName": "h-7 w-auto"
}
}

Switching modes is easy:

  • logo-and-text: logo on left, name on right
  • logo-only: replace whole text with logo
  • text-only: no logo, text only
json
{
"editPage": {
"enabled": true,
"provider": "github",
"repository": "OmgRod/MiniWiki",
"branch": "main",
"contentPath": "content",
"text": "Edit this page"
}
}

3) Use custom edit URL base instead of GitHub format #

json
{
"editPage": {
"enabled": true,
"baseUrl": "https://example.com/edit/docs",
"text": "Suggest an edit"
}
}
json
{
"editPage": {
"enabled": false
}
}

Per-page overrides (frontmatter) #

Use these keys inside a page file:

mdx
---
title: Example
wikiPreset: minimal
template: aura
editPage: false
editPageUrl: https://example.com/custom
editPageText: Propose an edit
disablePrevPage: true
disableNextPage: true
---

disablePrevPage and disableNextPage control the docs Previous/Next buttons independently for that page. By default, page navigation is shown when the page exists in content/sidebar.json.

Current example #

json
{
"siteName": "MiniWiki",
"siteDescription": "Official MiniWiki template documentation.",
"titleSuffix": "MiniWiki Docs",
"faviconPath": "/favicon.png",
"branding": {
"display": "logo-and-text",
"logoPath": "/favicon.png",
"logoAlt": "MiniWiki logo",
"text": "MiniWiki",
"logoClassName": "h-7 w-auto"
},
"wikiPreset": "portal",
"header": {
"showSearch": true,
"showDarkModeToggle": true,
"searchPlaceholder": "Search docs..."
},
"pageTemplates": {
"enabled": false,
"defaultTemplate": "default"
},
"editPage": {
"enabled": true,
"provider": "github",
"repository": "OmgRod/MiniWiki",
"branch": "main",
"contentPath": "content",
"text": "Edit this page"
},
"layout": {
"maxWidthClass": "max-w-7xl",
"sidebarWidthClass": "md:w-72"
}
}