create-react-docs-ui 0.1.1 → 0.1.3
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/LICENSE +21 -0
- package/README.md +82 -0
- package/package.json +13 -1
- package/template/package.json +2 -2
- package/template/public/docs/en/guide/configuration.md +122 -69
- package/template/public/docs/en/guide/installation.md +63 -139
- package/template/public/docs/en/guide/introduction.md +28 -50
- package/template/public/docs/en/guide/quick-start.md +109 -217
- package/template/public/docs/en/guide.md +10 -31
- package/template/public/docs/en/index.md +34 -58
- package/template/public/docs/zh-cn/guide/configuration.md +14 -61
- package/template/public/docs/zh-cn/guide/installation.md +23 -26
- package/template/public/docs/zh-cn/guide/introduction.md +11 -12
- package/template/public/docs/zh-cn/guide/quick-start.md +30 -21
- package/template/public/docs/zh-cn/guide.md +3 -3
- package/template/public/docs/zh-cn/index.md +9 -9
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 shenjianZ
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOTT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# create-react-docs-ui
|
|
2
|
+
|
|
3
|
+
A simple scaffolding tool to quickly set up a modern documentation website powered by [react-docs-ui](https://github.com/btea/react-docs-ui).
|
|
4
|
+
|
|
5
|
+
This tool creates a new project with a pre-configured, feature-rich documentation site, allowing you to focus solely on writing your Markdown content.
|
|
6
|
+
|
|
7
|
+
## About the underlying library: react-docs-ui
|
|
8
|
+
|
|
9
|
+
`react-docs-ui` is a React component library and toolset designed specifically for building documentation websites. Its core philosophy is **configuration over code**.
|
|
10
|
+
|
|
11
|
+
### Core Features
|
|
12
|
+
|
|
13
|
+
- **Configuration-Driven**: No need to write complex React components or routing logic. Define your entire site—navigation, sidebar, themes, and footer—through a simple `site.yaml` file.
|
|
14
|
+
- **Fully-Featured Out-of-the-Box**:
|
|
15
|
+
- Responsive, modern design.
|
|
16
|
+
- Light/dark theme switching.
|
|
17
|
+
- Markdown rendering (GFM and Frontmatter supported).
|
|
18
|
+
- Built-in syntax highlighting.
|
|
19
|
+
- Quick command menu (`Cmd+K`).
|
|
20
|
+
- Internationalization (i18n) support.
|
|
21
|
+
- **Extremely Simple to Start**: Launch a complete documentation site in under a minute.
|
|
22
|
+
- **Highly Customizable**: Easily customize the logo, color scheme, navigation links, social media icons, and more.
|
|
23
|
+
|
|
24
|
+
## Getting Started
|
|
25
|
+
|
|
26
|
+
### Prerequisites
|
|
27
|
+
|
|
28
|
+
- **Node.js**: Version `>= 18.0.0`
|
|
29
|
+
- **Package Manager**: `npm`, `yarn`, or `pnpm`
|
|
30
|
+
|
|
31
|
+
### Creating a New Project
|
|
32
|
+
|
|
33
|
+
Run one of the following commands to create your new documentation site. Replace `my-docs` with your desired project name.
|
|
34
|
+
|
|
35
|
+
#### npm
|
|
36
|
+
```bash
|
|
37
|
+
npm create react-docs-ui@latest my-docs
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
#### yarn
|
|
41
|
+
```bash
|
|
42
|
+
yarn create react-docs-ui my-docs
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
#### pnpm
|
|
46
|
+
```bash
|
|
47
|
+
pnpm create react-docs-ui my-docs
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Running Your Site
|
|
51
|
+
|
|
52
|
+
After the project is created, navigate into the new directory, install dependencies, and start the development server.
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
cd my-docs
|
|
56
|
+
npm install
|
|
57
|
+
npm run dev
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Your new documentation website will be running at `http://localhost:5173`.
|
|
61
|
+
|
|
62
|
+
## Project Structure
|
|
63
|
+
|
|
64
|
+
The generated project has a straightforward structure:
|
|
65
|
+
|
|
66
|
+
- **`public/config/site.yaml`**: The central configuration file for your entire site. This is where you'll define navigation, sidebars, and metadata.
|
|
67
|
+
- **`public/docs/`**: The directory where all your Markdown documentation files reside. It's pre-configured with `en` and `zh-cn` subdirectories for internationalization.
|
|
68
|
+
- **`src/`**: Contains the main application entry point. You typically won't need to modify files here.
|
|
69
|
+
|
|
70
|
+
## Basic Configuration
|
|
71
|
+
|
|
72
|
+
To customize your site, you'll primarily edit `public/config/site.yaml`. Here you can:
|
|
73
|
+
|
|
74
|
+
- **Change the site title and logo**: Modify the `site` object.
|
|
75
|
+
- **Add navigation links**: Add items to the `navbar.items` array.
|
|
76
|
+
- **Structure your documentation**: Define the hierarchy of your content in the `sidebar.collections` object.
|
|
77
|
+
|
|
78
|
+
For a complete guide on all available options, please refer to the documentation within your newly created project.
|
|
79
|
+
|
|
80
|
+
## License
|
|
81
|
+
|
|
82
|
+
This project is licensed under the [MIT License](LICENSE).
|
package/package.json
CHANGED
|
@@ -1,11 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-react-docs-ui",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"create-react-docs-ui": "./index.js"
|
|
8
8
|
},
|
|
9
|
+
"files": [
|
|
10
|
+
"index.js",
|
|
11
|
+
"template/index.html",
|
|
12
|
+
"template/package.json",
|
|
13
|
+
"template/public/**/*",
|
|
14
|
+
"template/src/main.tsx",
|
|
15
|
+
"template/src/vite-env.d.ts",
|
|
16
|
+
"template/tsconfig.app.json",
|
|
17
|
+
"template/tsconfig.json",
|
|
18
|
+
"template/vite.config.ts",
|
|
19
|
+
"README.md"
|
|
20
|
+
],
|
|
9
21
|
"description": "Scaffold a React Docs UI project powered by react-docs-ui",
|
|
10
22
|
"license": "MIT"
|
|
11
23
|
}
|
package/template/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "my-react-docs-project",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.1",
|
|
4
4
|
"private": true,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"preview": "vite preview"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"react-docs-ui": "^0.1.
|
|
12
|
+
"react-docs-ui": "^0.1.3",
|
|
13
13
|
"buffer": "^6.0.3",
|
|
14
14
|
"react": ">=18",
|
|
15
15
|
"react-dom": ">=18",
|
|
@@ -1,69 +1,122 @@
|
|
|
1
|
-
# Configuration
|
|
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
|
-
|
|
1
|
+
# Configuration File (`site.yaml`) Explained
|
|
2
|
+
|
|
3
|
+
The core of `react-docs-ui` is its **configuration-driven** philosophy. You can define the entire look and behavior of your website almost exclusively through the `public/config/site.yaml` file. This document explains each configuration option in detail.
|
|
4
|
+
|
|
5
|
+
## Top-Level Configuration Overview
|
|
6
|
+
|
|
7
|
+
| Top-Level Field | Description |
|
|
8
|
+
| :--- | :--- |
|
|
9
|
+
| `site` | Global site information, such as title, description, and logo. |
|
|
10
|
+
| `navbar` | Configures the top navigation bar of the website. |
|
|
11
|
+
| `sidebar` | Configures the navigation menu in the website's sidebar. |
|
|
12
|
+
| `theme` | Configures the website's theme, such as colors and light/dark mode. |
|
|
13
|
+
| `footer` | Configures the footer information at the bottom of the website. |
|
|
14
|
+
| `toc` | Configures the Table of Contents on the right side of article pages. |
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## `site`
|
|
19
|
+
|
|
20
|
+
Basic metadata configuration for the website.
|
|
21
|
+
|
|
22
|
+
| Field | Description | Example |
|
|
23
|
+
| :--- | :--- | :--- |
|
|
24
|
+
| `title` | The website title, displayed in the browser tab. | `"React Docs UI"` |
|
|
25
|
+
| `description` | The website description, used for Search Engine Optimization (SEO). | `"A React documentation website builder"` |
|
|
26
|
+
| `logo` | The website logo, displayed in the top-left corner of the navbar. | `"📚"` or `"/images/logo.png"` or an object with `light` and `dark` image paths |
|
|
27
|
+
| `author` | The author of the website. | `"React Docs UI Team"` |
|
|
28
|
+
|
|
29
|
+
**Logo Format Guide:**
|
|
30
|
+
1. **Emoji**: Use an emoji directly, like `"🚀"`.
|
|
31
|
+
2. **Local Image**: A path to an image in the `public` directory, like `"/images/logo.png"`.
|
|
32
|
+
3. **Light/Dark Mode Images**: An object with `light` and `dark` keys, pointing to different image paths for each theme.
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## `navbar`
|
|
37
|
+
|
|
38
|
+
Top navigation bar configuration.
|
|
39
|
+
|
|
40
|
+
| Field | Description |
|
|
41
|
+
| :--- | :--- |
|
|
42
|
+
| `items` | An array of navigation items that defines all the links displayed in the navbar. |
|
|
43
|
+
| `actions` | (Optional) Action buttons on the right side of the navbar, such as a GitHub link. |
|
|
44
|
+
|
|
45
|
+
### `navbar.items`
|
|
46
|
+
|
|
47
|
+
| Field | Description | Example |
|
|
48
|
+
| :--- | :--- | :--- |
|
|
49
|
+
| `title` | The display text for the navigation item. | `"Guide"` |
|
|
50
|
+
| `link` | The link address. Internal links start with `/`. | `"/guide/introduction"` |
|
|
51
|
+
| `external` | (Optional) If `true`, it's an external link that will open in a new tab. | `true` |
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## `sidebar`
|
|
56
|
+
|
|
57
|
+
Sidebar navigation configuration, which is the core of the documentation structure. It uses `collections` to organize different sections of content.
|
|
58
|
+
|
|
59
|
+
| Field | Description |
|
|
60
|
+
| :--- | :--- |
|
|
61
|
+
| `collections` | An object where keys are collection names (usually corresponding to top-level routes like `guide`), and values are the sidebar configurations for that collection. |
|
|
62
|
+
|
|
63
|
+
### `sidebar.collections.<name>.sections`
|
|
64
|
+
|
|
65
|
+
Each collection contains a `sections` array, where each `section` represents a collapsible menu group.
|
|
66
|
+
|
|
67
|
+
| Field | Description | Example |
|
|
68
|
+
| :--- | :--- | :--- |
|
|
69
|
+
| `title` | The title of the section. | `"Getting Started"` |
|
|
70
|
+
| `path` | The base path for the section. When a user visits a URL starting with this path, this section will automatically expand and be highlighted. | `"/guide"` |
|
|
71
|
+
| `children` | An array of child links under this section. | |
|
|
72
|
+
|
|
73
|
+
### `sidebar.collections.<name>.sections.children`
|
|
74
|
+
|
|
75
|
+
| Field | Description | Example |
|
|
76
|
+
| :--- | :--- | :--- |
|
|
77
|
+
| `title` | The display text for the child link. | `"Introduction"` |
|
|
78
|
+
| `path` | The full path to the child link, pointing to a specific Markdown page. | `"/guide/introduction"` |
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## `theme`
|
|
83
|
+
|
|
84
|
+
Theme and appearance configuration.
|
|
85
|
+
|
|
86
|
+
| Field | Description | Options | Default |
|
|
87
|
+
| :--- | :--- | :--- | :--- |
|
|
88
|
+
| `defaultMode` | The default theme mode for the website. | `'light'`, `'dark'`, `'system'` | `'system'` |
|
|
89
|
+
| `allowToggle` | Whether to allow users to switch the theme. | `true`, `false` | `true` |
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## `footer`
|
|
94
|
+
|
|
95
|
+
Footer configuration.
|
|
96
|
+
|
|
97
|
+
| Field | Description | Example |
|
|
98
|
+
| :--- | :--- | :--- |
|
|
99
|
+
| `copyright` | Copyright information. `{year}` will be replaced with the current year. | `"Copyright © {year} My Company"` |
|
|
100
|
+
| `repository` | (Optional) Repository information, used for displaying links like "Edit this page on GitHub". | |
|
|
101
|
+
| `links` | (Optional) Additional link columns displayed in the footer. | |
|
|
102
|
+
| `social` | (Optional) Social media icon links displayed in the footer. | |
|
|
103
|
+
|
|
104
|
+
### `footer.repository`
|
|
105
|
+
|
|
106
|
+
| Field | Description | Example |
|
|
107
|
+
| :--- | :--- | :--- |
|
|
108
|
+
| `url` | The URL of the repository. | `"https://github.com/user/repo"` |
|
|
109
|
+
| `branch` | The Git branch where the documentation is located. | `"main"` |
|
|
110
|
+
| `dir` | The root directory of the documentation files in the repository. | `"docs/src"` |
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## `toc` (Table of Contents)
|
|
115
|
+
|
|
116
|
+
Configuration for the table of contents on the right side of article pages.
|
|
117
|
+
|
|
118
|
+
| Field | Description | Example |
|
|
119
|
+
| :--- | :--- | :--- |
|
|
120
|
+
| `enabled` | Whether to enable the page table of contents feature. | `true` |
|
|
121
|
+
| `maxLevel` | The maximum heading level (h1-h6) to display in the TOC. | `3` |
|
|
122
|
+
| `title` | The title of the TOC component. | `"On this page"` |
|
|
@@ -1,139 +1,63 @@
|
|
|
1
|
-
# Installation
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
- **
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
npm install
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
```bash
|
|
38
|
-
npm install
|
|
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
|
-
Create an `App.vue` file:
|
|
65
|
-
|
|
66
|
-
```vue
|
|
67
|
-
<template>
|
|
68
|
-
<DocsLayout />
|
|
69
|
-
</template>
|
|
70
|
-
|
|
71
|
-
<script setup lang="ts">
|
|
72
|
-
import { DocsLayout } from 'vue-docs-ui'
|
|
73
|
-
import 'vue-docs-ui/style.css'
|
|
74
|
-
</script>
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
### 4. Configure Your Site
|
|
78
|
-
|
|
79
|
-
Create a `public/config/site.yaml` file with your site configuration:
|
|
80
|
-
|
|
81
|
-
```yaml
|
|
82
|
-
site:
|
|
83
|
-
title: "My Documentation"
|
|
84
|
-
description: "My awesome documentation website"
|
|
85
|
-
logo: "📚"
|
|
86
|
-
author: "Your Name"
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
### 5. Add Your Content
|
|
90
|
-
|
|
91
|
-
Create your documentation files in the `public/docs/` directory as Markdown files.
|
|
92
|
-
|
|
93
|
-
## Project Structure
|
|
94
|
-
|
|
95
|
-
After installation, your project structure should look like this:
|
|
96
|
-
|
|
97
|
-
```
|
|
98
|
-
my-docs/
|
|
99
|
-
├── public/
|
|
100
|
-
│ ├── config/
|
|
101
|
-
│ │ └── site.yaml
|
|
102
|
-
│ └── docs/
|
|
103
|
-
│ └── guide/
|
|
104
|
-
│ └── introduction.md
|
|
105
|
-
├── src/
|
|
106
|
-
│ ├── App.vue
|
|
107
|
-
│ └── main.ts
|
|
108
|
-
├── index.html
|
|
109
|
-
├── package.json
|
|
110
|
-
└── vite.config.js
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
## Development
|
|
114
|
-
|
|
115
|
-
Start the development server:
|
|
116
|
-
|
|
117
|
-
```bash
|
|
118
|
-
npm run dev
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
Your site will be available at `http://localhost:5173` with hot reload enabled.
|
|
122
|
-
|
|
123
|
-
## Building for Production
|
|
124
|
-
|
|
125
|
-
Build your documentation for production:
|
|
126
|
-
|
|
127
|
-
```bash
|
|
128
|
-
npm run build
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
The built files will be in the `dist/` directory, ready to deploy to any static hosting service.
|
|
132
|
-
|
|
133
|
-
## Next Steps
|
|
134
|
-
|
|
135
|
-
- [Quick Start Guide](/guide/quick-start) - Learn the basics
|
|
136
|
-
- [Configuration](/guide/configuration) - Customize your site
|
|
137
|
-
- [Examples](/examples) - See Vue Docs UI in action
|
|
138
|
-
|
|
139
|
-
|
|
1
|
+
# Installation
|
|
2
|
+
|
|
3
|
+
## Prerequisites
|
|
4
|
+
|
|
5
|
+
Before you begin, make sure your development environment meets the following requirements:
|
|
6
|
+
|
|
7
|
+
- **Node.js**: Version `>= 18.0.0`
|
|
8
|
+
- **Package Manager**: `npm`, `yarn`, or `pnpm`
|
|
9
|
+
|
|
10
|
+
## Recommended Method: Use the Scaffolding Tool
|
|
11
|
+
|
|
12
|
+
We strongly recommend using the official `create-react-docs-ui` scaffolding tool to create your new documentation project. This is the fastest and easiest way to ensure all configurations are set up correctly.
|
|
13
|
+
|
|
14
|
+
1. **Run the creation command**:
|
|
15
|
+
```bash
|
|
16
|
+
npx create-react-docs-ui@latest my-docs
|
|
17
|
+
```
|
|
18
|
+
This will create a new folder named `my-docs` in the current directory.
|
|
19
|
+
|
|
20
|
+
2. **Enter the project and install dependencies**:
|
|
21
|
+
```bash
|
|
22
|
+
cd my-docs
|
|
23
|
+
npm install
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
3. **Start the development server**:
|
|
27
|
+
```bash
|
|
28
|
+
npm run dev
|
|
29
|
+
```
|
|
30
|
+
Your documentation website is now running at `http://localhost:5173` (or another available port).
|
|
31
|
+
|
|
32
|
+
## Manual Installation (for existing projects)
|
|
33
|
+
|
|
34
|
+
If you want to manually integrate `react-docs-ui` into an existing Vite + React project, follow these steps:
|
|
35
|
+
|
|
36
|
+
1. **Install the core library**:
|
|
37
|
+
```bash
|
|
38
|
+
npm install react-docs-ui
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
2. **Create configuration files**:
|
|
42
|
+
In your `public` directory, create a `config` folder, and inside it, create a `site.yaml` file. You can copy a basic template from [here](https://github.com/shenjianZ/react-docs-ui/blob/main/react-docs-ui/public/config/site.yaml).
|
|
43
|
+
|
|
44
|
+
3. **Create the documentation directory**:
|
|
45
|
+
In your `public` directory, create a `docs` folder to store your Markdown files. For example: `public/docs/en/index.md`.
|
|
46
|
+
|
|
47
|
+
4. **Modify the application entry file**:
|
|
48
|
+
Update your `src/main.tsx` (or `main.jsx`) file to render the `DocsApp` component to initialize the application.
|
|
49
|
+
|
|
50
|
+
```tsx
|
|
51
|
+
// src/main.tsx
|
|
52
|
+
import React from 'react'
|
|
53
|
+
import ReactDOM from 'react-dom/client'
|
|
54
|
+
import { DocsApp } from 'react-docs-ui'
|
|
55
|
+
import 'react-docs-ui/dist/style.css' // Import core styles
|
|
56
|
+
|
|
57
|
+
ReactDOM.createRoot(document.getElementById('root')!).render(
|
|
58
|
+
<React.StrictMode>
|
|
59
|
+
<DocsApp />
|
|
60
|
+
</React.StrictMode>,
|
|
61
|
+
)
|
|
62
|
+
```
|
|
63
|
+
5. **Ensure your `index.html` contains `<div id="root"></div>`**
|
|
@@ -1,50 +1,28 @@
|
|
|
1
|
-
# Introduction
|
|
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
|
-
## Why Vue Docs UI?
|
|
30
|
-
|
|
31
|
-
- **Developer Friendly**: Simple API and intuitive configuration
|
|
32
|
-
- **Production Ready**: Optimized for performance and SEO
|
|
33
|
-
- **Extensible**: Easy to customize and extend with your own components
|
|
34
|
-
- **Modern**: Built with the latest Vue 3 and TypeScript technologies
|
|
35
|
-
|
|
36
|
-
## Getting Started
|
|
37
|
-
|
|
38
|
-
Ready to create your first documentation website? Check out our [Installation Guide](/guide/installation) to get started in just a few minutes!
|
|
39
|
-
|
|
40
|
-
## Community
|
|
41
|
-
|
|
42
|
-
Join our growing community:
|
|
43
|
-
|
|
44
|
-
- 🐛 [Report Issues](https://github.com/shenjianZ/vue-docs-ui/issues)
|
|
45
|
-
- 💡 [Feature Requests](https://github.com/shenjianZ/vue-docs-ui/discussions)
|
|
46
|
-
- 📖 [Documentation](https://github.com/shenjianZ/vue-docs-ui)
|
|
47
|
-
|
|
48
|
-
---
|
|
49
|
-
|
|
50
|
-
*Happy documenting! 📚*
|
|
1
|
+
# Introduction
|
|
2
|
+
|
|
3
|
+
React Docs UI is a React component library and toolset designed specifically for building modern documentation websites. Its core philosophy is **configuration over code**, allowing you to focus entirely on content creation.
|
|
4
|
+
|
|
5
|
+
## Core Advantages
|
|
6
|
+
|
|
7
|
+
- **Configuration-Driven**: This is the core feature of React Docs UI. You don't need to write complex React components or routing logic; just maintain a clear `site.yaml` file to define everything from the site's navigation and sidebar to its theme and footer.
|
|
8
|
+
|
|
9
|
+
- **Fully-Featured**: Out-of-the-box, it provides everything a modern documentation website needs:
|
|
10
|
+
- Responsive layout
|
|
11
|
+
- Light/dark theme switching
|
|
12
|
+
- Markdown-based content rendering (with GFM and Frontmatter support)
|
|
13
|
+
- Built-in code syntax highlighting
|
|
14
|
+
- Quick command menu (Cmd+K)
|
|
15
|
+
- Internationalization support
|
|
16
|
+
|
|
17
|
+
- **Extremely Simple to Start**: With the official `create-react-docs-ui` scaffolding tool, you can launch a fully functional documentation website in under a minute, without any complex environment setup.
|
|
18
|
+
|
|
19
|
+
- **Highly Customizable**: While it works out-of-the-box, every part (like the logo, color scheme, navigation links, social media icons, etc.) can be deeply customized through the configuration file.
|
|
20
|
+
|
|
21
|
+
## Use Cases
|
|
22
|
+
|
|
23
|
+
Whether you are an individual developer or part of a team, React Docs UI is perfect for the following scenarios:
|
|
24
|
+
|
|
25
|
+
- **Open Source Project Documentation**: Provide a professional and easy-to-maintain documentation site for your React project.
|
|
26
|
+
- **Product Manuals**: Clearly present your product's features and usage guides.
|
|
27
|
+
- **Team Knowledge Bases**: Build and share knowledge based on React technology within your team.
|
|
28
|
+
- **Personal Blogs or Portfolios**: Organize and display your technical articles or projects in an elegant way.
|