create-react-docs-ui 0.1.0
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/index.js +131 -0
- package/package.json +13 -0
- package/template/index.html +14 -0
- package/template/package.json +25 -0
- package/template/public/config/ai.json +60 -0
- package/template/public/config/site.en.yaml +137 -0
- package/template/public/config/site.yaml +137 -0
- package/template/public/docs/en/guide/configuration.md +69 -0
- package/template/public/docs/en/guide/installation.md +139 -0
- package/template/public/docs/en/guide/introduction.md +50 -0
- package/template/public/docs/en/guide/quick-start.md +217 -0
- package/template/public/docs/en/guide.md +31 -0
- package/template/public/docs/en/index.md +58 -0
- package/template/public/docs/zh-cn/guide/configuration.md +169 -0
- package/template/public/docs/zh-cn/guide/installation.md +66 -0
- package/template/public/docs/zh-cn/guide/introduction.md +29 -0
- package/template/public/docs/zh-cn/guide/quick-start.md +100 -0
- package/template/public/docs/zh-cn/guide.md +10 -0
- package/template/public/docs/zh-cn/index.md +34 -0
- package/template/public/images/favicon-dark.svg +7 -0
- package/template/public/images/favicon.svg +7 -0
- package/template/public/images/placeholder.md +25 -0
- package/template/src/main.tsx +16 -0
- package/template/src/vite-env.d.ts +3 -0
- package/template/tsconfig.app.json +26 -0
- package/template/tsconfig.json +8 -0
- package/template/vite.config.ts +15 -0
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# 安装
|
|
2
|
+
|
|
3
|
+
## 环境要求
|
|
4
|
+
|
|
5
|
+
在开始之前,请确保你的开发环境满足以下要求:
|
|
6
|
+
|
|
7
|
+
- **Node.js**: 版本 `>= 18.0.0`
|
|
8
|
+
- **包管理器**: `npm`、`yarn` 或 `pnpm`
|
|
9
|
+
|
|
10
|
+
## 推荐方式:使用脚手架
|
|
11
|
+
|
|
12
|
+
我们强烈推荐使用官方的 `create-vue-docs-ui` 脚手架来创建你的新文档项目。这是最快、最简单的方式,可以确保所有配置都已就绪。
|
|
13
|
+
|
|
14
|
+
1. **运行创建命令**:
|
|
15
|
+
```bash
|
|
16
|
+
npm create vue-docs-ui@latest my-docs
|
|
17
|
+
```
|
|
18
|
+
这会在当前目录下创建一个名为 `my-docs` 的新文件夹。
|
|
19
|
+
|
|
20
|
+
2. **进入项目并安装依赖**:
|
|
21
|
+
```bash
|
|
22
|
+
cd my-docs
|
|
23
|
+
npm install
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
3. **启动开发服务器**:
|
|
27
|
+
```bash
|
|
28
|
+
npm run dev
|
|
29
|
+
```
|
|
30
|
+
现在,你的文档网站已经运行在 `http://localhost:5173` 上了。
|
|
31
|
+
|
|
32
|
+
## 手动安装 (适用于现有项目)
|
|
33
|
+
|
|
34
|
+
如果你想在已有的 Vite + Vue 3 项目中手动集成 `vue-docs-ui`,可以按照以下步骤操作:
|
|
35
|
+
|
|
36
|
+
1. **安装核心库**:
|
|
37
|
+
```bash
|
|
38
|
+
npm install vue-docs-ui
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
2. **创建配置文件**:
|
|
42
|
+
在你的 `public` 目录下创建一个 `config` 文件夹,并在其中新建一个 `site.yaml` 文件。你可以从[这里](https://github.com/shenjianZ/vue-docs-ui/blob/main/vue-docs-ui/public/config/site.yaml)复制一个基础模板。
|
|
43
|
+
|
|
44
|
+
3. **创建文档目录**:
|
|
45
|
+
在 `public` 目录下创建一个 `docs` 文件夹,用于存放你的 Markdown 文件。
|
|
46
|
+
|
|
47
|
+
4. **修改应用入口文件**:
|
|
48
|
+
更新你的 `src/main.ts` (或 `main.js`) 文件,使用 `createDocsApp` 来初始化应用。
|
|
49
|
+
|
|
50
|
+
```typescript
|
|
51
|
+
// src/main.ts
|
|
52
|
+
import { createApp } from 'vue'
|
|
53
|
+
import { createDocsApp } from 'vue-docs-ui'
|
|
54
|
+
import 'vue-docs-ui/dist/style.css' // 引入核心样式
|
|
55
|
+
|
|
56
|
+
// 移除原有的 createApp(App).mount('#app')
|
|
57
|
+
|
|
58
|
+
createDocsApp({
|
|
59
|
+
// el 是挂载点,必须与 index.html 中的 id 一致
|
|
60
|
+
el: '#app',
|
|
61
|
+
// configPath 指向你的主配置文件
|
|
62
|
+
configPath: '/config/site.yaml',
|
|
63
|
+
// aiConfigPath 是可选的 AI 助手配置
|
|
64
|
+
aiConfigPath: '/config/ai.json'
|
|
65
|
+
})
|
|
66
|
+
```
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# 介绍
|
|
2
|
+
|
|
3
|
+
Vue Docs UI 是一个专为构建现代化文档网站而设计的 Vue 3 组件库与工具集。它的核心哲学是**配置优于编码**,让你能将精力完全集中在内容创作上。
|
|
4
|
+
|
|
5
|
+
## 核心优势
|
|
6
|
+
|
|
7
|
+
- **配置驱动**: 这是 Vue Docs UI 最核心的特性。你不需要编写 Vue 组件或复杂的路由逻辑,只需维护一个清晰的 `site.yaml` 文件,就能定义网站的导航、侧边栏、主题、页脚等所有内容。
|
|
8
|
+
|
|
9
|
+
- **功能完备**: 开箱即用,提供了现代文档网站所需的一切:
|
|
10
|
+
- 响应式布局
|
|
11
|
+
- 明暗主题切换
|
|
12
|
+
- 基于 Markdown 的内容渲染
|
|
13
|
+
- 代码语法高亮
|
|
14
|
+
- 内置全文搜索
|
|
15
|
+
- PWA (渐进式Web应用) 支持
|
|
16
|
+
- 可选的 AI 问答助手
|
|
17
|
+
|
|
18
|
+
- **极简上手**: 通过官方的 `create-vue-docs-ui` 脚手架,你可以在一分钟内启动一个功能齐全的文档网站,无需任何复杂的环境配置。
|
|
19
|
+
|
|
20
|
+
- **高度可定制**: 虽然开箱即用,但每个部分(如 Logo、配色、导航链接、社交媒体图标等)都可以通过配置文件进行深度定制。
|
|
21
|
+
|
|
22
|
+
## 适用场景
|
|
23
|
+
|
|
24
|
+
无论你是个人开发者还是团队,Vue Docs UI 都非常适合以下场景:
|
|
25
|
+
|
|
26
|
+
- **开源项目文档**: 为你的项目提供一个专业、易于维护的文档网站。
|
|
27
|
+
- **产品手册**: 清晰地展示你的产品功能和使用指南。
|
|
28
|
+
- **团队知识库**: 在团队内部沉淀和分享知识。
|
|
29
|
+
- **个人博客或作品集**: 以优雅的方式组织和展示你的技术文章或项目。
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# 快速上手
|
|
2
|
+
|
|
3
|
+
本指南将引导你在 5 分钟内,从零开始创建、配置并运行一个属于你自己的文档网站。
|
|
4
|
+
|
|
5
|
+
## 1. 创建项目
|
|
6
|
+
|
|
7
|
+
使用官方脚手架是最高效的方式。打开你的终端,运行以下命令:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# 这会创建一个名为 "my-awesome-docs" 的项目
|
|
11
|
+
npm create vue-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
|
+
|
|
33
|
+
这是一个关于我们团队的页面。
|
|
34
|
+
我们热爱开源和创造!
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## 3. 配置网站
|
|
38
|
+
|
|
39
|
+
现在,让我们通过修改配置文件来展示新创建的页面。
|
|
40
|
+
|
|
41
|
+
打开核心配置文件 `public/config/site.yaml`。
|
|
42
|
+
|
|
43
|
+
### a. 修改网站信息
|
|
44
|
+
|
|
45
|
+
更新 `site` 部分,给你的网站一个新标题和 Logo。
|
|
46
|
+
|
|
47
|
+
```yaml
|
|
48
|
+
site:
|
|
49
|
+
title: "我的超赞文档"
|
|
50
|
+
description: "一个使用 Vue Docs UI 构建的网站"
|
|
51
|
+
logo: "🚀" # 你可以使用 emoji 或图片路径
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### b. 添加到导航栏
|
|
55
|
+
|
|
56
|
+
在 `navbar.items` 数组中,为“关于”页面添加一个链接。
|
|
57
|
+
|
|
58
|
+
```yaml
|
|
59
|
+
navbar:
|
|
60
|
+
items:
|
|
61
|
+
- title: "首页"
|
|
62
|
+
link: "/zh-cn/"
|
|
63
|
+
- title: "指南"
|
|
64
|
+
link: "/zh-cn/guide/introduction"
|
|
65
|
+
- title: "关于" # 新增
|
|
66
|
+
link: "/zh-cn/about" # 新增
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### c. 添加到侧边栏
|
|
70
|
+
|
|
71
|
+
为了让“关于”页面在侧边栏也可见,我们在 `sidebar.sections` 中添加一个新区域。
|
|
72
|
+
|
|
73
|
+
```yaml
|
|
74
|
+
sidebar:
|
|
75
|
+
sections:
|
|
76
|
+
- title: "入门指南"
|
|
77
|
+
path: "/zh-cn/guide"
|
|
78
|
+
children:
|
|
79
|
+
- title: "介绍"
|
|
80
|
+
path: "/zh-cn/guide/introduction"
|
|
81
|
+
- title: "安装"
|
|
82
|
+
path: "/zh-cn/guide/installation"
|
|
83
|
+
- title: "快速上手"
|
|
84
|
+
path: "/zh-cn/guide/quick-start"
|
|
85
|
+
- title: "关于我们" # 新增区域
|
|
86
|
+
path: "/zh-cn/about" # 新增区域
|
|
87
|
+
children: # 新增区域
|
|
88
|
+
- title: "关于" # 新增区域
|
|
89
|
+
path: "/zh-cn/about" # 新增区域
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## 4. 启动网站
|
|
93
|
+
|
|
94
|
+
保存你的所有修改,然后在终端运行:
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
npm run dev
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
你的网站现在应该运行在 `http://localhost:5173` 上了。访问它,你会看到更新后的标题、Logo,以及导航栏和侧边栏中新增的“关于”链接。恭喜你,你已经成功掌握了 Vue Docs UI 的基本工作流程!
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# 指南
|
|
2
|
+
|
|
3
|
+
本指南将帮助你全面了解并掌握 Vue Docs UI 的各项功能。无论你是初学者还是希望进行深度定制,都能在这里找到所需的信息。
|
|
4
|
+
|
|
5
|
+
## 目录
|
|
6
|
+
|
|
7
|
+
- **[介绍](/guide/introduction)**: 了解 Vue Docs UI 的核心理念和主要优势。
|
|
8
|
+
- **[安装](/guide/installation)**: 学习如何通过脚手架或手动方式安装。
|
|
9
|
+
- **[快速上手](/guide/quick-start)**: 在 5 分钟内创建并运行你的第一个文档网站。
|
|
10
|
+
- **[配置说明 (`site.yaml`)](/guide/configuration)**: 深入了解每个配置项,完全掌控你的网站。
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Vue Docs UI
|
|
2
|
+
|
|
3
|
+
一个基于 Vue 3 的、**配置驱动**的现代化文档网站构建工具。
|
|
4
|
+
|
|
5
|
+
Vue Docs UI 旨在让创建美观、功能强大的文档网站变得前所未有的简单。你只需专注于编写 Markdown 文档,其他的一切——从路由、导航到主题切换和 AI 助手——都通过简单的 YAML 配置来驱动。
|
|
6
|
+
|
|
7
|
+
## 核心特性
|
|
8
|
+
|
|
9
|
+
- **配置驱动**: 无需编码,通过 `site.yaml` 定义你的整个网站。
|
|
10
|
+
- **开箱即用**: 极速启动项目,内置所有必需功能。
|
|
11
|
+
- **现代设计**: 优雅的响应式布局,支持明暗主题自动切换。
|
|
12
|
+
- **AI 助手**: 可选集成 AI 问答,为你的文档提供智能支持。
|
|
13
|
+
- **全文搜索**: 快速、准确的客户端内容搜索。
|
|
14
|
+
- **PWA 就绪**: 支持将网站作为桌面或移动应用安装,并可离线访问。
|
|
15
|
+
|
|
16
|
+
## 快速开始
|
|
17
|
+
|
|
18
|
+
只需一个命令,即可拥有你的专属文档网站:
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
# 创建项目
|
|
22
|
+
npm create vue-docs-ui@latest my-docs
|
|
23
|
+
|
|
24
|
+
# 进入项目目录
|
|
25
|
+
cd my-docs
|
|
26
|
+
|
|
27
|
+
# 安装依赖并启动
|
|
28
|
+
npm install && npm run dev
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## 链接
|
|
32
|
+
|
|
33
|
+
- **[指南](/zh-cn/guide/introduction)**: 开始了解 Vue Docs UI 的所有功能。
|
|
34
|
+
- **[GitHub](https://github.com/shenjianZ/vue-docs-ui)**: 查看源码、提交问题或贡献代码。
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="#ffffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
2
|
+
<path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/>
|
|
3
|
+
<polyline points="14,2 14,8 20,8"/>
|
|
4
|
+
<line x1="16" y1="13" x2="8" y2="13"/>
|
|
5
|
+
<line x1="16" y1="17" x2="8" y2="17"/>
|
|
6
|
+
<polyline points="10,9 9,9 8,9"/>
|
|
7
|
+
</svg>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
2
|
+
<path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/>
|
|
3
|
+
<polyline points="14,2 14,8 20,8"/>
|
|
4
|
+
<line x1="16" y1="13" x2="8" y2="13"/>
|
|
5
|
+
<line x1="16" y1="17" x2="8" y2="17"/>
|
|
6
|
+
<polyline points="10,9 9,9 8,9"/>
|
|
7
|
+
</svg>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# 图片目录
|
|
2
|
+
|
|
3
|
+
将您的图片文件放在这个目录中。
|
|
4
|
+
|
|
5
|
+
支持的格式:
|
|
6
|
+
- PNG
|
|
7
|
+
- JPG/JPEG
|
|
8
|
+
- SVG
|
|
9
|
+
- WebP
|
|
10
|
+
- GIF
|
|
11
|
+
|
|
12
|
+
## 使用方式
|
|
13
|
+
|
|
14
|
+
在 Markdown 中引用图片:
|
|
15
|
+
|
|
16
|
+
```markdown
|
|
17
|
+

|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
在配置文件中使用:
|
|
21
|
+
|
|
22
|
+
```yaml
|
|
23
|
+
site:
|
|
24
|
+
logo: "/images/logo.png"
|
|
25
|
+
```
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from "react"
|
|
2
|
+
import ReactDOM from "react-dom/client"
|
|
3
|
+
|
|
4
|
+
import "@react-docs-ui/core/dist/react-docs-ui.css"
|
|
5
|
+
import { DocsApp } from "@react-docs-ui/core"
|
|
6
|
+
// import "../../../react-docs-ui/dist/react-docs-ui.css"
|
|
7
|
+
// @ts-ignore using local built ES module for development
|
|
8
|
+
// import { DocsApp } from "../../../react-docs-ui/dist/react-docs-ui.es.js"
|
|
9
|
+
|
|
10
|
+
ReactDOM.createRoot(document.getElementById("root")!).render(
|
|
11
|
+
<React.StrictMode>
|
|
12
|
+
<DocsApp />
|
|
13
|
+
</React.StrictMode>
|
|
14
|
+
)
|
|
15
|
+
|
|
16
|
+
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ES2022",
|
|
4
|
+
"useDefineForClassFields": true,
|
|
5
|
+
"lib": ["ES2022", "DOM", "DOM.Iterable"],
|
|
6
|
+
"module": "ESNext",
|
|
7
|
+
"skipLibCheck": true,
|
|
8
|
+
"moduleResolution": "bundler",
|
|
9
|
+
"allowImportingTsExtensions": true,
|
|
10
|
+
"verbatimModuleSyntax": true,
|
|
11
|
+
"moduleDetection": "force",
|
|
12
|
+
"noEmit": true,
|
|
13
|
+
"jsx": "react-jsx",
|
|
14
|
+
"strict": true,
|
|
15
|
+
"noUnusedLocals": true,
|
|
16
|
+
"noUnusedParameters": true,
|
|
17
|
+
"noFallthroughCasesInSwitch": true,
|
|
18
|
+
"baseUrl": ".",
|
|
19
|
+
"paths": {
|
|
20
|
+
"@/*": ["./src/*"]
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"include": ["src"]
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
|