create-react-docs-ui 0.1.4 → 0.1.6

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.
@@ -1,122 +1,150 @@
1
- # 配置文件 (`site.yaml`) 详解
2
-
3
- `react-docs-ui` 的核心是其**配置驱动**的理念。你几乎可以通过 `public/config/site.yaml` 这一个文件来定义整个网站的外观和行为。本文档将详细解释每个配置项。
4
-
5
- ## 顶级配置项概览
6
-
7
- | 顶级字段 | 说明 |
8
- | :--- | :--- |
9
- | `site` | 网站的全局信息,如标题、描述、Logo。 |
10
- | `navbar` | 配置网站顶部的导航栏。 |
11
- | `sidebar` | 配置网站侧边栏的导航菜单。 |
12
- | `theme` | 配置网站的主题,如颜色、浅色/深色模式。 |
13
- | `footer` | 配置网站底部的页脚信息。 |
14
- | `toc` | 配置文章页面右侧的目录(Table of Contents)。 |
15
-
16
- ---
17
-
18
- ## `site`
19
-
20
- 网站的基础元数据配置。
21
-
22
- | 字段 | 说明 | 示例 |
23
- | :--- | :--- | :--- |
24
- | `title` | 网站标题,显示在浏览器标签页上。 | `"React Docs UI"` |
25
- | `description` | 网站描述,用于搜索引擎优化 (SEO)。 | `"一个 React 文档网站构建工具"` |
26
- | `logo` | 网站 Logo,显示在导航栏左上角。 | `"📚"` 或 `"/images/logo.png"` 或一个包含 `light` 和 `dark` 模式图片路径的对象 |
27
- | `author` | 网站作者。 | `"React Docs UI Team"` |
28
-
29
- **Logo 格式说明:**
30
- 1. **Emoji**: 直接使用一个表情符号,如 `"🚀"`。
31
- 2. **本地图片**: 指向 `public` 目录下的图片路径,如 `"/images/logo.png"`。
32
- 3. **亮/暗模式图片**: 一个对象,包含 `light` 和 `dark` 两个键,分别指向不同主题下的图片路径。
33
-
34
- ---
35
-
36
- ## `navbar`
37
-
38
- 顶部导航栏配置。
39
-
40
- | 字段 | 说明 |
41
- | :--- | :--- |
42
- | `items` | 导航项数组,定义了导航栏中显示的所有链接。 |
43
- | `actions` | (可选) 导航栏右侧的操作按钮,如 GitHub 链接。 |
44
-
45
- ### `navbar.items`
46
-
47
- | 字段 | 说明 | 示例 |
48
- | :--- | :--- | :--- |
49
- | `title` | 导航项的显示文本。 | `"指南"` |
50
- | `link` | 链接地址。内部链接以 `/` 开头。 | `"/guide/introduction"` |
51
- | `external` | (可选) `true` 表示为外部链接,将在新标签页打开。 | `true` |
52
-
53
- ---
54
-
55
- ## `sidebar`
56
-
57
- 侧边栏导航配置,是文档结构的核心。它使用 `collections` 来组织不同部分的内容。
58
-
59
- | 字段 | 说明 |
60
- | :--- | :--- |
61
- | `collections` | 一个对象,键是集合的名称(通常对应一级路由,如 `guide`),值是该集合的侧边栏配置。 |
62
-
63
- ### `sidebar.collections.<name>.sections`
64
-
65
- 每个集合包含一个 `sections` 数组,每个 `section` 代表一个可折叠的菜单组。
66
-
67
- | 字段 | 说明 | 示例 |
68
- | :--- | :--- | :--- |
69
- | `title` | 区域的标题。 | `"入门指南"` |
70
- | `path` | 区域的基础路径。当用户访问的 URL 以此路径开头时,该区域会自动展开并高亮。 | `"/guide"` |
71
- | `children` | 该区域下的子链接数组。 | |
72
-
73
- ### `sidebar.collections.<name>.sections.children`
74
-
75
- | 字段 | 说明 | 示例 |
76
- | :--- | :--- | :--- |
77
- | `title` | 子链接的显示文本。 | `"介绍"` |
78
- | `path` | 子链接的完整路径,指向一个具体的 Markdown 页面。 | `"/guide/introduction"` |
79
-
80
- ---
81
-
82
- ## `theme`
83
-
84
- 主题和外观配置。
85
-
86
- | 字段 | 说明 | 可选值 | 默认值 |
87
- | :--- | :--- | :--- | :--- |
88
- | `defaultMode` | 网站的默认主题模式。 | `'light'`, `'dark'`, `'system'` | `'system'` |
89
- | `allowToggle` | 是否允许用户切换主题。 | `true`, `false` | `true` |
90
-
91
- ---
92
-
93
- ## `footer`
94
-
95
- 页脚配置。
96
-
97
- | 字段 | 说明 | 示例 |
98
- | :--- | :--- | :--- |
99
- | `copyright` | 版权信息。`{year}` 会被替换为当前年份。 | `"Copyright © {year} My Company"` |
100
- | `repository` | (可选) 仓库信息,用于显示“在 GitHub 上编辑此页”等链接。 | |
101
- | `links` | (可选) 在页脚显示的额外链接列。 | |
102
- | `social` | (可选) 在页脚显示的社交媒体图标链接。 | |
103
-
104
- ### `footer.repository`
105
-
106
- | 字段 | 说明 | 示例 |
107
- | :--- | :--- | :--- |
108
- | `url` | 仓库的 URL。 | `"https://github.com/user/repo"` |
109
- | `branch` | 文档所在的 Git 分支。 | `"main"` |
110
- | `dir` | 文档文件在仓库中的根目录。 | `"docs/src"` |
111
-
112
- ---
113
-
114
- ## `toc` (Table of Contents)
115
-
116
- 文章页面右侧的目录配置。
117
-
118
- | 字段 | 说明 | 示例 |
119
- | :--- | :--- | :--- |
120
- | `enabled` | 是否启用页面目录功能。 | `true` |
121
- | `maxLevel` | 在目录中显示的最大标题级别(h1-h6)。 | `3` |
122
- | `title` | 目录组件的标题。 | `"本页内容"` |
1
+ # 配置文件(`site.yaml`)字段说明
2
+
3
+ 项目遵循“配置驱动”。绝大多数行为由 `public/config/site.yaml` 决定。下面用表格逐项说明所有字段。
4
+
5
+ ## 顶级键
6
+ | 键 | 作用 |
7
+ | :-- | :-- |
8
+ | `site` | 全局元信息(标题、描述、Logo、作者) |
9
+ | `navbar` | 顶部导航(开关、导航项、操作按钮) |
10
+ | `sidebar` | 左侧导航树(集合/分组/子项) |
11
+ | `theme` | 主题配置(默认模式、是否允许切换) |
12
+ | `toc` | 文章右侧目录(开关、层级、标题) |
13
+ | `footer` | 页脚(链接、社交、仓库信息) |
14
+ | `pwa` | PWA 设置(预留/可选) |
15
+
16
+ ---
17
+
18
+ ## `site`
19
+ | 字段 | 类型 | 说明 | 示例 |
20
+ | :-- | :-- | :-- | :-- |
21
+ | `title` | string | 网站标题 | `"React Docs UI 示例"` |
22
+ | `description` | string | 简短网站描述(SEO) | `"简单漂亮的文档站"` |
23
+ | `logo` | string 或 object | 网站 Logo。字符串可为 emoji 或图片路径;对象可分别设置亮/暗图标 | `"📚"`、`"/images/logo.png"`、或 `{ light: "/images/favicon.svg", dark: "/images/favicon-dark.svg" }` |
24
+ | `author` | string | 作者或组织 | `"React Docs UI Team"` |
25
+
26
+ Logo 支持:
27
+ - Emoji:`"🚀"`
28
+ - 公共路径或 URL:`"/images/logo.png"`
29
+ - 明/暗主题对象:`{ light, dark }`
30
+
31
+ ---
32
+
33
+ ## `navbar`
34
+ | 字段 | 类型 | 说明 |
35
+ | :-- | :-- | :-- |
36
+ | `showLogo` | boolean | 是否显示左上角 Logo |
37
+ | `showTitle` | boolean | 是否显示站点标题 |
38
+ | `showLanguageSwitcher` | boolean | 是否显示语言切换 |
39
+ | `items` | array<Item> | 主导航链接 |
40
+ | `actions` | array<Action> | 右侧操作按钮(如 GitHub) |
41
+
42
+ Item
43
+ | 字段 | 类型 | 说明 | 示例 |
44
+ | :-- | :-- | :-- | :-- |
45
+ | `title` | string | 链接文字 | `"指南"` |
46
+ | `link` | string | 路径或 URL。内部路径以 `/` 开头 | `"/guide"` |
47
+ | `external` | boolean(可选) | 外部链接新开标签 |
48
+ | `visible` | boolean(可选) | 条件展示 |
49
+
50
+ Action
51
+ | 字段 | 类型 | 说明 | 示例 |
52
+ | :-- | :-- | :-- | :-- |
53
+ | `type` | `"github"`/`"custom"`(可选) | 预设或自定义动作 | `"github"` |
54
+ | `title` | string(可选) | 自定义动作按钮文案 |
55
+ | `link` | string | 目标链接 |
56
+ | `icon` | string(可选) | 自定义动作图标名 |
57
+ | `enabled` | boolean(可选) | 是否启用 |
58
+
59
+ ---
60
+
61
+ ## `sidebar`
62
+ | 字段 | 类型 | 说明 |
63
+ | :-- | :-- | :-- |
64
+ | `enabled` | boolean(可选) | 全局开启/关闭侧边栏 |
65
+ | `collections` | record<string, Collection> | 顶级集合映射(如 `guide`) |
66
+ | `sections` | Section[] (兼容,可选) | 旧版单树结构 |
67
+
68
+ Collection
69
+ | 字段 | 类型 | 说明 |
70
+ | :-- | :-- | :-- |
71
+ | `sections` | Section[] | 一组可折叠分组 |
72
+
73
+ Section
74
+ | 字段 | 类型 | 说明 | 示例 |
75
+ | :-- | :-- | :-- | :-- |
76
+ | `title` | string | 分组标题 | `"快速开始"` |
77
+ | `path` | string | 访问该前缀将自动展开/高亮 | `"/guide"` |
78
+ | `children` | Child[](可选) | 该分组下的子链接 |
79
+
80
+ Child
81
+ | 字段 | 类型 | 说明 | 示例 |
82
+ | :-- | :-- | :-- | :-- |
83
+ | `title` | string | 子链接文字 | `"介绍"` |
84
+ | `path` | string | 完整页面路径 | `"/guide/introduction"` |
85
+
86
+ ---
87
+
88
+ ## `theme`
89
+ | 字段 | 类型 | 说明 | 可选值 | 默认值 |
90
+ | :-- | :-- | :-- | :-- | :-- |
91
+ | `defaultMode` | string | 默认主题模式 | `light`/`dark`/`auto` | `auto` |
92
+ | `allowToggle` | boolean | 是否允许用户切换主题 | `true`/`false` | `true` |
93
+
94
+ ---
95
+
96
+ ## `toc`
97
+ | 字段 | 类型 | 说明 | 示例 |
98
+ | :-- | :-- | :-- | :-- |
99
+ | `enabled` | boolean | 是否启用页面目录 | `true` |
100
+ | `maxLevel` | number (1-6) | 展示的最大标题层级 | `3` |
101
+ | `title` | string | 目录标题 | `"本页内容"` |
102
+
103
+ 说明:具体锚点与是否显示也可能受页面 Frontmatter 影响。
104
+
105
+ ---
106
+
107
+ ## `footer`
108
+ | 字段 | 类型 | 说明 |
109
+ | :-- | :-- | :-- |
110
+ | `enabled` | boolean | 是否显示页脚 |
111
+ | `copyright` | string | 版权文案 |
112
+ | `repository` | Repository(可选) | 仓库信息(如“在 GitHub 上编辑此页”) |
113
+ | `lastUpdated` | string(可选) | 站点/内容最近更新时间 |
114
+ | `links` | Link[](可选) | 页脚链接列 |
115
+ | `social` | Social[](可选) | 社交图标链接 |
116
+
117
+ Repository
118
+ | 字段 | 类型 | 说明 | 示例 |
119
+ | :-- | :-- | :-- | :-- |
120
+ | `url` | string | 仓库地址 | `"https://github.com/user/repo"` |
121
+ | `branch` | string | 文档所在分支 | `"main"` |
122
+
123
+ Link
124
+ | 字段 | 类型 | 说明 |
125
+ | :-- | :-- | :-- |
126
+ | `title` | string | 链接标题 |
127
+ | `link` | string | 路径或 URL |
128
+ | `external` | boolean(可选) | 新开标签 |
129
+
130
+ Social
131
+ | 字段 | 类型 | 说明 |
132
+ | :-- | :-- | :-- |
133
+ | `name` | string | 平台名称(如 `github`/`twitter`/`bilibili`) |
134
+ | `url` | string | 个人页或链接 |
135
+ | `icon` | string | 图标名 |
136
+
137
+ ---
138
+
139
+ ## `pwa`(可选)
140
+ | 字段 | 类型 | 说明 |
141
+ | :-- | :-- | :-- |
142
+ | `enabled` | boolean | 是否启用 PWA(预留) |
143
+ | `name` | string | 应用名 |
144
+ | `shortName` | string | 应用短名 |
145
+ | `description` | string | 应用描述 |
146
+ | `themeColor` | string | 主题色 |
147
+ | `backgroundColor` | string | 背景色 |
148
+
149
+ ---
150
+
@@ -1,109 +1,108 @@
1
- # 快速上手
2
-
3
- 本指南将引导你在 5 分钟内,从零开始创建、配置并运行一个属于你自己的 React 文档网站。
4
-
5
- ## 1. 创建项目
6
-
7
- 使用官方脚手架是最高效的方式。打开你的终端,运行以下命令:
8
-
9
- ```bash
10
- # 这会创建一个名为 "my-awesome-docs" 的项目
11
- npx create-react-docs-ui@latest my-awesome-docs
12
- ```
13
-
14
- 然后,进入项目目录并安装依赖:
15
-
16
- ```bash
17
- cd my-awesome-docs
18
- npm install
19
- ```
20
-
21
- ## 2. 组织你的文档
22
-
23
- 所有的文档内容都以 Markdown 文件的形式存放在 `public/docs/` 目录下。
24
-
25
- - 打开 `public/docs/zh-cn/` 目录。
26
- - 你可以修改现有的 `index.md` 和 `guide` 目录下的文件,或者创建新的 `.md` 文件。
27
-
28
- 例如,我们来创建一个新页面。在 `public/docs/zh-cn/` 下新建一个 `about.md` 文件:
29
-
30
- ```markdown
31
- ---
32
- title: 关于我们
33
- description: 这是一个关于我们团队的页面。
34
- ---
35
-
36
- # 关于我们
37
-
38
- 我们热爱开源和创造!
39
- ```
40
-
41
- **注意**: 你可以在 Markdown 文件顶部使用 `frontmatter` 来定义页面标题 (`title`) 和描述 (`description`)。
42
-
43
- ## 3. 配置网站
44
-
45
- 现在,让我们通过修改配置文件来展示新创建的页面。
46
-
47
- 打开核心配置文件 `public/config/site.yaml`。
48
-
49
- ### a. 修改网站信息
50
-
51
- 更新 `site` 部分,给你的网站一个新标题和 Logo。
52
-
53
- ```yaml
54
- site:
55
- title: "我的超赞文档"
56
- description: "一个使用 React Docs UI 构建的网站"
57
- logo: "🚀" # 你可以使用 emoji 或图片路径
58
- ```
59
-
60
- ### b. 添加到导航栏
61
-
62
- 在 `navbar.items` 数组中,为“关于”页面添加一个链接。
63
-
64
- ```yaml
65
- navbar:
66
- items:
67
- - title: "首页"
68
- link: "/zh-cn/"
69
- - title: "指南"
70
- link: "/zh-cn/guide/introduction"
71
- - title: "关于" # 新增
72
- link: "/zh-cn/about" # 新增
73
- ```
74
-
75
- ### c. 添加到侧边栏
76
-
77
- 为了让“关于”页面在侧边栏也可见,我们在 `sidebar.collections.guide.sections` 中添加一个新条目。
78
-
79
- ```yaml
80
- sidebar:
81
- collections:
82
- guide:
83
- sections:
84
- - title: "快速开始"
85
- path: "/zh-cn/guide"
86
- children:
87
- - title: "介绍"
88
- path: "/zh-cn/guide/introduction"
89
- - title: "安装"
90
- path: "/zh-cn/guide/installation"
91
- - title: "快速上手"
92
- path: "/zh-cn/guide/quick-start"
93
- # 你可以为 "关于" 页面创建一个新的 section
94
- - title: "关于我们"
95
- path: "/zh-cn/about"
96
- children:
97
- - title: "关于"
98
- path: "/zh-cn/about"
99
- ```
100
-
101
- ## 4. 启动网站
102
-
103
- 保存你的所有修改,然后在终端运行:
104
-
105
- ```bash
106
- npm run dev
107
- ```
108
-
1
+ # 快速上手
2
+
3
+ 本指南将引导你在 5 分钟内,从零开始创建、配置并运行一个属于你自己的 React 文档网站。
4
+
5
+ ## 1. 创建项目
6
+
7
+ 使用官方脚手架是最高效的方式。打开你的终端,运行以下命令:
8
+
9
+ ```bash
10
+ # 这会创建一个名为 "my-awesome-docs" 的项目
11
+ npx create-react-docs-ui@latest my-awesome-docs
12
+ ```
13
+
14
+ 然后,进入项目目录并安装依赖:
15
+
16
+ ```bash
17
+ cd my-awesome-docs
18
+ npm install
19
+ ```
20
+
21
+ ## 2. 组织你的文档
22
+
23
+ 所有的文档内容都以 Markdown 文件的形式存放在 `public/docs/` 目录下。
24
+
25
+ - 打开 `public/docs/zh-cn/` 目录。
26
+ - 你可以修改现有的 `index.md` 和 `guide` 目录下的文件,或者创建新的 `.md` 文件。
27
+
28
+ 例如,我们来创建一个新页面。在 `public/docs/zh-cn/` 下新建一个 `about.md` 文件:
29
+
30
+ ```markdown
31
+ ---
32
+ title: 关于我们
33
+ description: 这是一个关于我们团队的页面。
34
+ ---
35
+
36
+ # 关于我们
37
+
38
+ 我们热爱开源和创造!
39
+ ```
40
+
41
+
42
+ ## 3. 配置网站
43
+
44
+ 现在,让我们通过修改配置文件来展示新创建的页面。
45
+
46
+ 打开核心配置文件 `public/config/site.yaml`。
47
+
48
+ ### a. 修改网站信息
49
+
50
+ 更新 `site` 部分,给你的网站一个新标题和 Logo。
51
+
52
+ ```yaml
53
+ site:
54
+ title: "我的超赞文档"
55
+ description: "一个使用 React Docs UI 构建的网站"
56
+ logo: "🚀" # 你可以使用 emoji 或图片路径
57
+ ```
58
+
59
+ ### b. 添加到导航栏
60
+
61
+ 在 `navbar.items` 数组中,为“关于”页面添加一个链接。
62
+
63
+ ```yaml
64
+ navbar:
65
+ items:
66
+ - title: "首页"
67
+ link: "/zh-cn/"
68
+ - title: "指南"
69
+ link: "/zh-cn/guide/introduction"
70
+ - title: "关于" # 新增
71
+ link: "/zh-cn/about" # 新增
72
+ ```
73
+
74
+ ### c. 添加到侧边栏
75
+
76
+ 为了让“关于”页面在侧边栏也可见,我们在 `sidebar.collections.guide.sections` 中添加一个新条目。
77
+
78
+ ```yaml
79
+ sidebar:
80
+ collections:
81
+ guide:
82
+ sections:
83
+ - title: "快速开始"
84
+ path: "/zh-cn/guide"
85
+ children:
86
+ - title: "介绍"
87
+ path: "/zh-cn/guide/introduction"
88
+ - title: "安装"
89
+ path: "/zh-cn/guide/installation"
90
+ - title: "快速上手"
91
+ path: "/zh-cn/guide/quick-start"
92
+ # 你可以为 "关于" 页面创建一个新的 section
93
+ - title: "关于我们"
94
+ path: "/zh-cn/about"
95
+ children:
96
+ - title: "关于"
97
+ path: "/zh-cn/about"
98
+ ```
99
+
100
+ ## 4. 启动网站
101
+
102
+ 保存你的所有修改,然后在终端运行:
103
+
104
+ ```bash
105
+ npm run dev
106
+ ```
107
+
109
108
  你的网站现在应该运行在 `http://localhost:5173` 上了。访问它,你会看到更新后的标题、Logo,以及导航栏和侧边栏中新增的“关于”链接。恭喜你,你已经成功掌握了 React Docs UI 的基本工作流程!