create-react-docs-ui 0.1.3 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +85 -82
- package/package.json +16 -2
- package/template/index.html +3 -2
- package/template/package.json +6 -1
- package/template/public/config/site.en.yaml +7 -7
- package/template/public/config/site.yaml +7 -7
- package/template/public/docs/en/guide/configuration.md +149 -122
- package/template/public/docs/en/guide/quick-start.md +107 -108
- package/template/public/docs/zh-cn/guide/configuration.md +150 -122
- package/template/public/docs/zh-cn/guide/quick-start.md +107 -108
- package/template/src/react-docs-ui.d.ts +1 -0
package/README.md
CHANGED
|
@@ -1,82 +1,85 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
1
|
+
English | [简体中文](README-zh.md)
|
|
2
|
+
|
|
3
|
+
## create-react-docs-ui
|
|
4
|
+
|
|
5
|
+
Scaffold a React documentation site in seconds, powered by [`react-docs-ui`](https://github.com/shenjianZ/react-docs-ui). Focus on writing Markdown; routing, theming, MDX, syntax highlighting, i18n, sidebar/TOC and a command menu are prewired.
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
- Configuration over code via `public/config/site.yaml`
|
|
9
|
+
- MD/MDX rendering, syntax highlight, GFM, simple frontmatter parsing
|
|
10
|
+
- Light/dark theme and command palette (Cmd/Ctrl+K)
|
|
11
|
+
- Built-in i18n folders (e.g. `en`, `zh-cn`)
|
|
12
|
+
- Ready-to-run Vite setup
|
|
13
|
+
|
|
14
|
+
### Requirements
|
|
15
|
+
- Node.js >= 18
|
|
16
|
+
|
|
17
|
+
### Quick start
|
|
18
|
+
- npm:
|
|
19
|
+
```bash
|
|
20
|
+
npm create react-docs-ui@latest my-docs
|
|
21
|
+
```
|
|
22
|
+
- yarn:
|
|
23
|
+
```bash
|
|
24
|
+
yarn create react-docs-ui my-docs
|
|
25
|
+
```
|
|
26
|
+
- pnpm:
|
|
27
|
+
```bash
|
|
28
|
+
pnpm create react-docs-ui my-docs
|
|
29
|
+
```
|
|
30
|
+
Then:
|
|
31
|
+
```bash
|
|
32
|
+
cd my-docs
|
|
33
|
+
npm install
|
|
34
|
+
npm run dev
|
|
35
|
+
```
|
|
36
|
+
Dev server runs at http://localhost:5173
|
|
37
|
+
|
|
38
|
+
### Scripts (generated project)
|
|
39
|
+
- `dev`: start Vite dev server
|
|
40
|
+
- `build`: type-check and build
|
|
41
|
+
- `preview`: preview production build
|
|
42
|
+
|
|
43
|
+
### Project structure (generated)
|
|
44
|
+
- `public/config/site.yaml` and `public/config/site.en.yaml`: site config per language
|
|
45
|
+
- `public/docs/<lang>/**/*.md`: Markdown docs, matched by route slug
|
|
46
|
+
- `src/`: app entry; usually no changes required
|
|
47
|
+
|
|
48
|
+
### Config example (`public/config/site.yaml`)
|
|
49
|
+
```yaml
|
|
50
|
+
site:
|
|
51
|
+
logo: /logo.svg
|
|
52
|
+
title: My Docs
|
|
53
|
+
description: Awesome docs
|
|
54
|
+
navbar:
|
|
55
|
+
showTitle: true
|
|
56
|
+
items:
|
|
57
|
+
- title: GitHub
|
|
58
|
+
link: https://github.com/shenjianZ/react-docs-ui
|
|
59
|
+
external: true
|
|
60
|
+
sidebar:
|
|
61
|
+
collections:
|
|
62
|
+
guide:
|
|
63
|
+
sections:
|
|
64
|
+
- title: Getting Started
|
|
65
|
+
path: guide
|
|
66
|
+
children:
|
|
67
|
+
- { title: Introduction, path: guide/introduction }
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Docs example (`public/docs/en/guide/introduction.md`)
|
|
71
|
+
```markdown
|
|
72
|
+
---
|
|
73
|
+
title: Introduction
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
# Introduction
|
|
77
|
+
|
|
78
|
+
Welcome to My Docs!
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Links
|
|
82
|
+
- Underlying UI library: `react-docs-ui` — https://github.com/shenjianZ/react-docs-ui
|
|
83
|
+
|
|
84
|
+
### License
|
|
85
|
+
[MIT](LICENSE)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-react-docs-ui",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.5",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -12,13 +12,27 @@
|
|
|
12
12
|
"template/package.json",
|
|
13
13
|
"template/public/**/*",
|
|
14
14
|
"template/src/main.tsx",
|
|
15
|
+
"template/src/react-docs-ui.d.ts",
|
|
15
16
|
"template/src/vite-env.d.ts",
|
|
16
17
|
"template/tsconfig.app.json",
|
|
17
18
|
"template/tsconfig.json",
|
|
18
19
|
"template/vite.config.ts",
|
|
19
20
|
"README.md"
|
|
20
21
|
],
|
|
21
|
-
"description": "Scaffold a React
|
|
22
|
+
"description": "Scaffold a React documentation site with one command — built-in routing, theming, MDX, examples, and production-ready build config, powered by react-docs-ui.",
|
|
23
|
+
"homepage": "https://github.com/shenjianZ/create-react-docs-ui",
|
|
24
|
+
"keywords": [
|
|
25
|
+
"react",
|
|
26
|
+
"cli",
|
|
27
|
+
"scaffolding",
|
|
28
|
+
"starter",
|
|
29
|
+
"template",
|
|
30
|
+
"docs",
|
|
31
|
+
"documentation",
|
|
32
|
+
"mdx",
|
|
33
|
+
"boilerplate",
|
|
34
|
+
"create-tool"
|
|
35
|
+
],
|
|
22
36
|
"license": "MIT"
|
|
23
37
|
}
|
|
24
38
|
|
package/template/index.html
CHANGED
|
@@ -2,13 +2,14 @@
|
|
|
2
2
|
<html lang="en">
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="UTF-8" />
|
|
5
|
+
<link rel="icon" type="image/svg+xml" href="/images/favicon.svg" />
|
|
5
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
-
<title>
|
|
7
|
+
<title>Docs</title>
|
|
7
8
|
</head>
|
|
8
9
|
<body>
|
|
9
10
|
<div id="root"></div>
|
|
10
11
|
<script type="module" src="/src/main.tsx"></script>
|
|
11
12
|
</body>
|
|
12
|
-
|
|
13
|
+
</html>
|
|
13
14
|
|
|
14
15
|
|
package/template/package.json
CHANGED
|
@@ -9,15 +9,20 @@
|
|
|
9
9
|
"preview": "vite preview"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"react-docs-ui": "^0.1.3",
|
|
13
12
|
"buffer": "^6.0.3",
|
|
14
13
|
"react": ">=18",
|
|
14
|
+
"react-docs-ui": "^0.1.3",
|
|
15
15
|
"react-dom": ">=18",
|
|
16
16
|
"react-router-dom": "^7.8.0"
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {
|
|
19
|
+
"@types/debug": "^4.1.12",
|
|
20
|
+
"@types/hast": "^3.0.4",
|
|
21
|
+
"@types/mdast": "^4.0.4",
|
|
22
|
+
"@types/ms": "^2.1.0",
|
|
19
23
|
"@types/react": "^19.1.9",
|
|
20
24
|
"@types/react-dom": "^19.1.7",
|
|
25
|
+
"@types/unist": "^3.0.3",
|
|
21
26
|
"@vitejs/plugin-react": "^4.7.0",
|
|
22
27
|
"typescript": "~5.8.3",
|
|
23
28
|
"vite": "^7.1.0"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Website Configuration
|
|
2
2
|
site:
|
|
3
|
-
title: "
|
|
4
|
-
description: "Example documentation website built with
|
|
3
|
+
title: "React Docs UI Example"
|
|
4
|
+
description: "Example documentation website built with React Docs UI"
|
|
5
5
|
# Logo formats supported:
|
|
6
6
|
# 1. emoji: "🤖"
|
|
7
7
|
# 2. image URL: "https://example.com/logo.png"
|
|
@@ -10,7 +10,7 @@ site:
|
|
|
10
10
|
logo:
|
|
11
11
|
light: "/images/favicon.svg"
|
|
12
12
|
dark: "/images/favicon-dark.svg"
|
|
13
|
-
author: "
|
|
13
|
+
author: "React Docs UI Team"
|
|
14
14
|
|
|
15
15
|
# Navigation Bar Configuration
|
|
16
16
|
navbar:
|
|
@@ -25,7 +25,7 @@ navbar:
|
|
|
25
25
|
link: "/guide"
|
|
26
26
|
actions:
|
|
27
27
|
- type: "github"
|
|
28
|
-
link: "https://github.com/shenjianZ/
|
|
28
|
+
link: "https://github.com/shenjianZ/React-docs-ui"
|
|
29
29
|
enabled: true
|
|
30
30
|
|
|
31
31
|
# Sidebar Navigation Configuration
|
|
@@ -73,7 +73,7 @@ toc:
|
|
|
73
73
|
# Footer Configuration
|
|
74
74
|
footer:
|
|
75
75
|
enabled: true
|
|
76
|
-
copyright: "© 2024
|
|
76
|
+
copyright: "© 2024 React Docs UI. All rights reserved."
|
|
77
77
|
repository:
|
|
78
78
|
url: "https://github.com/your_github_id/your_repo_name"
|
|
79
79
|
branch: "master"
|
|
@@ -130,8 +130,8 @@ footer:
|
|
|
130
130
|
# PWA Configuration
|
|
131
131
|
pwa:
|
|
132
132
|
enabled: false
|
|
133
|
-
name: "
|
|
134
|
-
shortName: "
|
|
133
|
+
name: "React Docs UI"
|
|
134
|
+
shortName: "ReactDocsUI"
|
|
135
135
|
description: "Beautiful documentation websites made simple"
|
|
136
136
|
themeColor: "#ffffff"
|
|
137
137
|
backgroundColor: "#ffffff"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# 网站基本配置
|
|
2
2
|
site:
|
|
3
|
-
title: "
|
|
4
|
-
description: "基于
|
|
3
|
+
title: "React Docs UI 示例项目"
|
|
4
|
+
description: "基于 React Docs UI 构建的文档网站示例"
|
|
5
5
|
# logo支持以下格式:
|
|
6
6
|
# 1. emoji: "🤖"
|
|
7
7
|
# 2. 图片URL: "https://example.com/logo.png"
|
|
@@ -10,7 +10,7 @@ site:
|
|
|
10
10
|
logo:
|
|
11
11
|
light: "/images/favicon.svg"
|
|
12
12
|
dark: "/images/favicon-dark.svg"
|
|
13
|
-
author: "
|
|
13
|
+
author: "React Docs UI Team"
|
|
14
14
|
|
|
15
15
|
# 顶部导航配置
|
|
16
16
|
navbar:
|
|
@@ -25,7 +25,7 @@ navbar:
|
|
|
25
25
|
link: "/guide"
|
|
26
26
|
actions:
|
|
27
27
|
- type: "github"
|
|
28
|
-
link: "https://github.com/shenjianZ/
|
|
28
|
+
link: "https://github.com/shenjianZ/React-docs-ui"
|
|
29
29
|
enabled: true
|
|
30
30
|
|
|
31
31
|
# 侧边栏导航配置
|
|
@@ -73,7 +73,7 @@ toc:
|
|
|
73
73
|
# Footer Configuration
|
|
74
74
|
footer:
|
|
75
75
|
enabled: true
|
|
76
|
-
copyright: "© 2024
|
|
76
|
+
copyright: "© 2024 React Docs UI. All rights reserved."
|
|
77
77
|
repository:
|
|
78
78
|
url: "https://github.com/your_github_id/your_repo_name"
|
|
79
79
|
branch: "master"
|
|
@@ -130,8 +130,8 @@ footer:
|
|
|
130
130
|
# PWA Configuration
|
|
131
131
|
pwa:
|
|
132
132
|
enabled: true
|
|
133
|
-
name: "
|
|
134
|
-
shortName: "
|
|
133
|
+
name: "React Docs UI"
|
|
134
|
+
shortName: "ReactDocsUI"
|
|
135
135
|
description: "Beautiful documentation websites made simple"
|
|
136
136
|
themeColor: "#ffffff"
|
|
137
137
|
backgroundColor: "#ffffff"
|
|
@@ -1,122 +1,149 @@
|
|
|
1
|
-
# Configuration File (`site.yaml`) Explained
|
|
2
|
-
|
|
3
|
-
The
|
|
4
|
-
|
|
5
|
-
## Top-
|
|
6
|
-
|
|
7
|
-
|
|
|
8
|
-
|
|
|
9
|
-
| `
|
|
10
|
-
| `
|
|
11
|
-
| `
|
|
12
|
-
| `
|
|
13
|
-
| `footer` |
|
|
14
|
-
| `
|
|
15
|
-
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
## `site`
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
|
23
|
-
|
|
|
24
|
-
| `
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
|
48
|
-
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
|
70
|
-
|
|
|
71
|
-
| `
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
|
76
|
-
|
|
|
77
|
-
| `
|
|
78
|
-
| `
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
| Field | Description | Example |
|
|
98
|
-
|
|
|
99
|
-
| `
|
|
100
|
-
| `
|
|
101
|
-
| `
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
|
109
|
-
|
|
|
110
|
-
| `
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
| Field | Description | Example |
|
|
119
|
-
|
|
|
120
|
-
| `
|
|
121
|
-
| `
|
|
122
|
-
|
|
1
|
+
# Configuration File (`site.yaml`) Explained
|
|
2
|
+
|
|
3
|
+
The project is configuration-driven. Most behavior is defined in `public/config/site.yaml`. This page documents every field using concise tables.
|
|
4
|
+
|
|
5
|
+
## Top-level keys
|
|
6
|
+
| Key | Purpose |
|
|
7
|
+
| :-- | :-- |
|
|
8
|
+
| `site` | Global metadata like title, description, logo, author |
|
|
9
|
+
| `navbar` | Top navigation bar (logo/title toggles, items, actions) |
|
|
10
|
+
| `sidebar` | Left navigation tree (collections/sections/children) |
|
|
11
|
+
| `theme` | Theme options (default mode, toggle) |
|
|
12
|
+
| `toc` | Article table of contents (enabled, levels, title) |
|
|
13
|
+
| `footer` | Footer links, socials, repository meta |
|
|
14
|
+
| `pwa` | Progressive Web App settings (reserved/optional) |
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## `site`
|
|
19
|
+
| Field | Type | Description | Example |
|
|
20
|
+
| :-- | :-- | :-- | :-- |
|
|
21
|
+
| `title` | string | Site title | `"React Docs UI Example"` |
|
|
22
|
+
| `description` | string | Short site description (SEO) | `"Beautiful docs made simple"` |
|
|
23
|
+
| `logo` | string or object | Logo to display. String can be emoji or image path. Object allows light/dark images. | `"📚"`, `"/images/logo.png"`, or `{ light: "/images/favicon.svg", dark: "/images/favicon-dark.svg" }` |
|
|
24
|
+
| `author` | string | Site author/organization | `"React Docs UI Team"` |
|
|
25
|
+
|
|
26
|
+
Logo formats supported:
|
|
27
|
+
- Emoji: `"🚀"`
|
|
28
|
+
- URL or public path: `"/images/logo.png"`
|
|
29
|
+
- Light/Dark object: `{ light, dark }`
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## `navbar`
|
|
34
|
+
| Field | Type | Description |
|
|
35
|
+
| :-- | :-- | :-- |
|
|
36
|
+
| `showLogo` | boolean | Show logo at top-left |
|
|
37
|
+
| `showTitle` | boolean | Show site title in navbar |
|
|
38
|
+
| `showLanguageSwitcher` | boolean | Show language switcher |
|
|
39
|
+
| `items` | array<Item> | Primary navigation links |
|
|
40
|
+
| `actions` | array<Action> | Right-side action buttons (e.g. GitHub) |
|
|
41
|
+
|
|
42
|
+
Item
|
|
43
|
+
| Field | Type | Description | Example |
|
|
44
|
+
| :-- | :-- | :-- | :-- |
|
|
45
|
+
| `title` | string | Link text | `"Guide"` |
|
|
46
|
+
| `link` | string | Path or URL. Internal paths start with `/`. | `"/guide"` |
|
|
47
|
+
| `external` | boolean (optional) | Open in new tab if true |
|
|
48
|
+
| `visible` | boolean (optional) | Conditionally hide/show |
|
|
49
|
+
|
|
50
|
+
Action
|
|
51
|
+
| Field | Type | Description | Example |
|
|
52
|
+
| :-- | :-- | :-- | :-- |
|
|
53
|
+
| `type` | `"github"` or `"custom"` (optional) | Predefined or custom action | `"github"` |
|
|
54
|
+
| `title` | string (optional) | Button text when `type` is `custom` |
|
|
55
|
+
| `link` | string | Destination URL |
|
|
56
|
+
| `icon` | string (optional) | Icon name for custom action |
|
|
57
|
+
| `enabled` | boolean (optional) | Toggle the action |
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## `sidebar`
|
|
62
|
+
| Field | Type | Description |
|
|
63
|
+
| :-- | :-- | :-- |
|
|
64
|
+
| `enabled` | boolean (optional) | Global toggle for sidebar |
|
|
65
|
+
| `collections` | record<string, Collection> | Map of top-level sections (e.g. `guide`) |
|
|
66
|
+
| `sections` | Section[] (legacy, optional) | Backward-compatible single-tree definition |
|
|
67
|
+
|
|
68
|
+
Collection
|
|
69
|
+
| Field | Type | Description |
|
|
70
|
+
| :-- | :-- | :-- |
|
|
71
|
+
| `sections` | Section[] | Grouped side-nav sections |
|
|
72
|
+
|
|
73
|
+
Section
|
|
74
|
+
| Field | Type | Description | Example |
|
|
75
|
+
| :-- | :-- | :-- | :-- |
|
|
76
|
+
| `title` | string | Section title | `"Getting Started"` |
|
|
77
|
+
| `path` | string | Base path that expands/highlights this section | `"/guide"` |
|
|
78
|
+
| `children` | Child[] (optional) | Leaf links under the section |
|
|
79
|
+
|
|
80
|
+
Child
|
|
81
|
+
| Field | Type | Description | Example |
|
|
82
|
+
| :-- | :-- | :-- | :-- |
|
|
83
|
+
| `title` | string | Link text | `"Introduction"` |
|
|
84
|
+
| `path` | string | Full page path | `"/guide/introduction"` |
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## `theme`
|
|
89
|
+
| Field | Type | Description | Options | Default |
|
|
90
|
+
| :-- | :-- | :-- | :-- | :-- |
|
|
91
|
+
| `defaultMode` | string | Default color mode | `light`, `dark`, `auto` | `auto` |
|
|
92
|
+
| `allowToggle` | boolean | Allow user theme switching | `true`/`false` | `true` |
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## `toc`
|
|
97
|
+
| Field | Type | Description | Example |
|
|
98
|
+
| :-- | :-- | :-- | :-- |
|
|
99
|
+
| `enabled` | boolean | Enable page table of contents | `true` |
|
|
100
|
+
| `maxLevel` | number (1-6) | Max heading depth to show | `3` |
|
|
101
|
+
| `title` | string | TOC panel title | `"On This Page"` |
|
|
102
|
+
|
|
103
|
+
Note: Per-page TOC visibility/anchors are also affected by page frontmatter.
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## `footer`
|
|
108
|
+
| Field | Type | Description |
|
|
109
|
+
| :-- | :-- | :-- |
|
|
110
|
+
| `enabled` | boolean | Show footer |
|
|
111
|
+
| `copyright` | string | Copyright text |
|
|
112
|
+
| `repository` | Repository (optional) | Repo info used for links like “Edit this page” |
|
|
113
|
+
| `lastUpdated` | string (optional) | Site/content last update date |
|
|
114
|
+
| `links` | Link[] (optional) | Footer link columns |
|
|
115
|
+
| `social` | Social[] (optional) | Social icon links |
|
|
116
|
+
|
|
117
|
+
Repository
|
|
118
|
+
| Field | Type | Description | Example |
|
|
119
|
+
| :-- | :-- | :-- | :-- |
|
|
120
|
+
| `url` | string | Repository URL | `"https://github.com/user/repo"` |
|
|
121
|
+
| `branch` | string | Docs branch | `"main"` |
|
|
122
|
+
|
|
123
|
+
Link
|
|
124
|
+
| Field | Type | Description |
|
|
125
|
+
| :-- | :-- | :-- |
|
|
126
|
+
| `title` | string | Link title |
|
|
127
|
+
| `link` | string | Path or URL |
|
|
128
|
+
| `external` | boolean (optional) | Open in new tab |
|
|
129
|
+
|
|
130
|
+
Social
|
|
131
|
+
| Field | Type | Description |
|
|
132
|
+
| :-- | :-- | :-- |
|
|
133
|
+
| `name` | string | Provider key (e.g. `github`, `twitter`, `bilibili`) |
|
|
134
|
+
| `url` | string | Profile or link URL |
|
|
135
|
+
| `icon` | string | Icon name |
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## `pwa` (optional)
|
|
140
|
+
| Field | Type | Description |
|
|
141
|
+
| :-- | :-- | :-- |
|
|
142
|
+
| `enabled` | boolean | Enable PWA features (reserved) |
|
|
143
|
+
| `name` | string | App name |
|
|
144
|
+
| `shortName` | string | Short app name |
|
|
145
|
+
| `description` | string | App description |
|
|
146
|
+
| `themeColor` | string | Theme color |
|
|
147
|
+
| `backgroundColor` | string | Background color |
|
|
148
|
+
|
|
149
|
+
---
|