UNPKG

9.03 kBMarkdownView Raw
1## 安装
2
3安装正式版
4``` bash
5npm install ydoc -g
6```
7
8安装测试版 (有新功能但不稳定)
9``` bash
10npm install ydoc@rc -g
11```
12
13## 构建命令
14
15``` bash
16ydoc build [-t templatePath] [-p page] [-w] [-o dest]
17```
18
19读取配置,构建文档
20
21* `-w|--watch`: 监听变化自动构建
22* `-t|--template`: 参数为自定义模板路径
23* `-o|--output`: 输出目录
24* `-p|--page`: 指定编译某页,默认编译所有。(多个页面名可以逗号分开,例 -p index,demo)
25
26## 初始化命令
27
28``` bash
29ydoc init [-t templatePath]
30```
31
32初始项目,创建配置文件与自定义模板(-t),默认生成 `ydoc.json` 配置文件。
33
34* `-t|--template`: 参数为自定义模板路径
35
36
37## 配置文件
38
39配置文件可以以 `ydoc.json` 或者 `ydocfile.js` 的形式出现。
40
41### 静态文件形式
42
43`ydoc.json` 的内容是 `JSON`,支持注释。
44
45示例:
46
47```json
48{
49 "name": "YDoc",
50 ...
51}
52```
53
54### 动态脚本形式
55
56`ydocfile.js` 可以 `exports` 一个 `Object` 配置,也可以 `exports` 一个 `Function` 用于执行获取配置。
57
58示例1:
59
60```js
61module.exports = {
62 "name": "YDoc",
63 ...
64};
65```
66
67示例2:
68
69```js
70module.exports = function() {
71 return {
72 "name": "YDoc",
73 ...
74 };
75};
76```
77
78示例3:(支持异步返回)
79
80```js
81module.exports = function(callback) {
82 // do someing
83 callback({
84 "name": "YDoc",
85 ...
86 });
87};
88```
89
90## 配置内容
91
92示例:
93
94```json
95{
96 "name": "YDoc", // 标示 配置文件
97 "dest": "path/to/destination", // 默认为 "doc"
98 "examplePath": "./examples", // 示例代码路径 默认 "./"
99 "template": "path/to/templte", // 默认使用 YDoc 内置的模板
100 "instructionsInfoPath": "./demo/component", //使用说明 内容路径
101 "instructionsUrlPath": "./demo/component", //使用说明demo路径
102 "theme": "ocean", // 配置主题,默认没有主题
103 "defaultGrammar": "javascript", // 默认高亮语法
104 "mutiversion": { // 配置多版本切换,使用此功能需要切换到新的分支(此分支专门用于生成文档),在新分支的配置文件中添加此配置项
105 "docbranch": "doc", // 新分支(专门用于生成文档的分支)名称
106 "latestPath": "3.0", // 最新版本文档的路径
107 "versions":[{
108 "name": "3.0", // 需要生成的版本名称
109 "branch": "v3.0.0" // 需要生成的版本所在的git分支
110 },{
111 "name": "4.0",
112 "branch": "v4.0.0"
113 },{
114 "name": "4.1",
115 "branch": "v4.1.0"
116 }] // 需要切换的版本信息
117 },
118 "options": { // 通用编译器配置
119 "markdown": { // 对于 markdown 编译器进行统一配置
120 "menuLevel": 2 //选取第几级 head 作为目录,默认 -1 没有目录
121 },
122 "foldcode": true, // 是否折叠示例code
123 "foldparam": true, // 是否折叠param
124 "hasPageName": true //是否添加页面名称,默认关闭;(文件名不包含中文和特殊字符)
125 },
126 "resources": { // 将配置的文件夹拷贝至生成文档的文件夹下
127 "images": "./test-reactweb/docs/images/",
128 "demo":"./test-reactweb/docs/demo/",
129 "styles": "./styles/", // 指定insertCss后,配置css的目录
130 "scripts": "./scripts/", // 指定insertJS后,配置js的目录
131 },
132 "common": { // 通用默认配置,包括主页配置等
133 "title": "YDoc", //page title
134 "footer": "&copy; 2017 <a href=\"http://ued.qunar.com/ymfe/\">YMFE</a> Team. Build by <a href=\"http://ued.qunar.com/ydoc/\">ydoc</a>.", // 通用尾
135 "home": "YMFE", // logo
136 "homeUrl": "http://ued.qunar.com/ymfe/" // logourl
137 },
138 "pages": [{
139 "name": "index", // Page Name 会根据他生成 html 文件,例: index.html
140 "title": "开始", // Page Title
141 "homepage": { // 配置首页,样式区别于其他页面
142 "version": "v3.0.0", // 版本信息将显示在banner底部
143 "button": [{ // 按钮组将显示在banner底部
144 "name": "起步",
145 "href": "./start.html"
146 },{
147 "name": "Github",
148 "href": "https://github.com/YMFE/ydoc"
149 }],
150 "intro": [{ // 首页的正文部分,数组项依次渲染,可重复使用
151 "title": "为前端开发者设计的文档生成工具", // 介绍板块标题
152 "desc": "YDoc让文档开发更简单高效,让开发者专注于程序本身,让项目代码更具可读性、可维护性。" // 介绍板块描述
153 },{
154 "title": "特性",
155 "detail": {
156 "type": "thumbnail", // 三列布局的介绍板块
157 "content": [{ // 三列布局的内容,每项的key值非必需,但建议每列的key值一致
158 "name": "丰富、可扩展的API", // 板块名称
159 "src": "http://ojk406wln.bkt.clouddn.com/intro_muti.png", // 缩略图
160 "desc": "YDoc提供了非常详尽的API,扩展性较强,如果你希望添加某些功能,可以在<a href=\"https://github.com/YMFE/ydoc\" target=\"_blank\"> Github </a>上面提Issue。" // 描述
161 },{
162 "name": "基于注释/markdown",
163 "src": "http://ojk406wln.bkt.clouddn.com/intro_md.png",
164 "desc": "基于项目代码注释与markdown快速构建文档,二者亦可在同一页面中使用。"
165 },{
166 "name": "可配置主题",
167 "src": "http://ojk406wln.bkt.clouddn.com/intro_theme.png",
168 "desc": "官方提供多套主题,并且支持用户自定义开发主题。"
169 }]
170 }
171 }]
172 },
173 "banner": { // Banner 配置
174 "title": "YDoc",
175 "description": "开始"
176 },
177 "content": "./README.md", // 内容
178 "compile": "markdown", // 解析器,如果内容有固定的扩展名,此项可忽略
179 "options": { // 此 Page 用的编译器的配置
180 "menuLevel": 2
181 }
182 }, {
183 "name": "hybird",
184 "title": "混合开发",
185 "intro": "document/README.md", // 介绍 introduction
186 "content": { // 单页多模块配置
187 "sidebar": true, // 是否显示侧边目录
188 "blocks": [{
189 "name": "简介", // 标题
190 "content": "document/hybrid/README.md" // 内容
191 }, {
192 "name": "Hybrid" // 只有标题,做目录和分割用
193 }, {
194 "name": "说明",
195 "sub": true, // 标题在目录里已子目录形式显示
196 "content": "modules/hybrid/framework/README.md"
197 }]
198 }
199 }, {
200 "name": "component",
201 "title": "组件",
202 "banner": {
203 "title": "移动端组件",
204 "description": "组件"
205 },
206 "content": { // 多页配置,multi 为 true
207 "sidebar": true, //是否显示侧边目录
208 "multi": true, // 多页配置
209 "index": "./Libraries/extension/INTRO.md", // 首页配置
210 "pages": [{ // 每页配置
211 "name": "ListView",
212 "index": "list", // 修改默认路径名
213 "content": "./Libraries/extension/libs/ListView/QListView.js"
214 }, {
215 "name": "ScrollView",
216 "content": "./Libraries/extension/libs/ScrollView/ScrollView.js"
217 }]
218 }
219 }]
220}
221```
222
223### 解析器配置
224
225#### js
226
227支持文件类型:`.js``.jsx`
228type字段配置的 `component` `lib``interface`,三者所支持的注释规则有所区别,参见[注释规则](https://ydoc.ymfe.org/comment.html)。
229
230```json
231{
232 "type": "component", // 类型,可选 component 和 lib ,默认 component
233 "source": false // 是否生成源文件预览,默认 false
234}
235```
236
237#### css
238
239支持文件类型:`.css``.sass``.scss`
240
241```json
242{
243 "source": false // 是否生成源文件预览,默认 false
244}
245```
246
247#### markdown
248
249支持文件类型:`.md``.markdown`
250
251```json
252{
253 "menuLevel": 2, // 选取第几级 head 作为目录,默认 -1 没有目录
254 "subMeneLevel": 3 // 选取第几级 head 作为子目录,默认 menuLevel + 1
255}
256```
257
258## 废弃的配置项
259- options.foldsidenav & options.staticsidenav `v3.2.0版本废弃`
260
261不再支持侧栏菜单的固定与折叠
262
263- options.insertCSS & options.insertJS `v3.2.0版本废弃`
264
265后续版本直接配置 `resources.styles/resources.scripts` 即可,ydoc 会把配置的路径里的 `css/js` 文件拷贝到静态资源里,并自动引入到页面里
266
267- 配置文件: ydoc.config `v3.1.0版本废弃`
268
269后续版本不再支持 ydoc.config 格式的配置文件,请使用 ydoc.json.