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 #
| Key | Type | Required | Description |
|---|---|---|---|
siteName | string | Yes | Primary site/brand name shown in UI. |
siteDescription | string | Yes | Default site description used in metadata and docs context. |
titleSuffix | string | Yes | Suffix appended to page titles. |
faviconPath | string | Yes | Icon path for <link rel="icon"> (for example /favicon.png, /favicon.svg, /favicon.ico). |
branding | object | Yes | Navbar brand display configuration (logo/text mode and paths). |
wikiPreset | string | Yes | Global layout/theme preset (docs, minimal, portal). |
defaultTemplate | string | Yes | Site-wide default page template (overridable per page via frontmatter template). |
header | object | Yes | Header behavior configuration object. |
pageTemplates | object | Yes | Page-template feature configuration. |
editPage | object | Yes | Per-page “Edit this page” link configuration. |
layout | object | Yes | Layout sizing utility classes. |
header keys #
| Key path | Type | Required | Description |
|---|---|---|---|
header.showSearch | boolean | Yes | Shows/hides the header search bar. |
header.showDarkModeToggle | boolean | Yes | Shows/hides dark-mode toggle in header. |
header.searchPlaceholder | string | Yes | Placeholder text for search input. |
branding keys #
| Key path | Type | Required | Description |
|---|---|---|---|
branding.display | string | Yes | Brand mode: logo-and-text, logo-only, or text-only. |
branding.logoPath | string | Yes | Path/URL for brand image shown in navbar. |
branding.logoAlt | string | Yes | Accessible alt text for the brand image. |
branding.text | string | Yes | Brand label shown when text mode is enabled. |
branding.logoClassName | string | Yes | Tailwind classes applied to the brand logo image. |
pageTemplates keys #
| Key path | Type | Required | Description |
|---|---|---|---|
pageTemplates.enabled | boolean | Yes | Enables frontmatter template overrides. |
pageTemplates.defaultTemplate | string | Yes | Fallback template ID when no template is set. |
editPage keys #
| Key path | Type | Required | Description |
|---|---|---|---|
editPage.enabled | boolean | Yes | Global toggle for showing edit-page link. |
editPage.provider | string | Yes | URL builder provider (github by default). |
editPage.repository | string | Yes | Repository slug (example: owner/repo). |
editPage.branch | string | Yes | Branch used in edit URL. |
editPage.contentPath | string | Yes | Repository folder containing docs content. |
editPage.text | string | Yes | Label shown for edit-page link. |
editPage.baseUrl | string | No | Optional custom base URL for non-GitHub edit links. |
layout keys #
| Key path | Type | Required | Description |
|---|---|---|---|
layout.maxWidthClass | string | Yes | Tailwind max-width utility for main container. |
layout.sidebarWidthClass | string | Yes | Tailwind 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 rightlogo-only: replace whole text with logotext-only: no logo, text only
2) Configure GitHub edit-page links #
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"}}
4) Disable edit-page links globally #
json
{"editPage": {"enabled": false}}
Per-page overrides (frontmatter) #
Use these keys inside a page file:
mdx
---title: ExamplewikiPreset: minimaltemplate: auraeditPage: falseeditPageUrl: https://example.com/customeditPageText: Propose an editdisablePrevPage: truedisableNextPage: 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"}}