Tip: This project is no longer actively maintained, maybe you can try Vue DocGen Cli or Vue DocGen Api instead.
A jsdoc plugin use @vuedoc/md.
- node@8.x: That support
async/await
features. - @vuedoc/md.
npm i jsdoc-vuedoc -D
add
jsdoc-vuedoc
node tojsdoc.json
.
tag
: default@vuedoc
.log
: defaulttrue
.- the other vuedco/md options.
This plugin just extract the component's info into
markdown
format, and instert it into the@vuedoc
's position.
Not affect other jsdoc features of the code.
- add
@vuedoc
tag to comment. - add
@exports componentName
tag to comment.
just add @vuedoc
tag, @exports
tag, to the to document in you vue SFC.
/**
* sidebar component description
* @vuedoc
* @exports component/SideBar
*/
export default {}
- 安装jsdoc:
npm i jsdoc -D
- 安装模板:
npm i sherry-docstrap -D
, 原来的docstrap有点小bug还未修复,所以自己暂时发布一个。 - 在项目目录下建了配置文件:下面有示例,适当修改。
- 在pacakge.json 里添加一个script:
"jsdoc": "rm -rf public/jsdoc && node_modules/.bin/jsdoc -c jsdoc.json"
,public/jsdoc
为发布位置,适当修改 - 生成文档:
npm run jsdoc
{
"plugins": [
"node_modules/jsdoc-vuedoc",
"plugins/markdown",
"plugins/summarize"
],
"jsdoc-vuedoc": {
"tag": "vuedoc"
},
"markdown": {
"tags": ["author", "classdesc", "description", "param", "property", "returns", "see", "throws"]
},
"recurseDepth": 10,
"source": {
"include": ["fe/src"],
"includePattern": ".+\\.(js|vue)$",
"excludePattern": "(^|\\/|\\\\)_"
},
"sourceType": "module",
"tags": {
"allowUnknownTags": true,
"dictionaries": ["jsdoc", "closure"]
},
"templates": {
"logoFile": "",
"cleverLinks": false,
"monospaceLinks": false,
"dateFormat": "ddd MMM Do YYYY",
"outputSourceFiles": true,
"outputSourcePath": true,
"systemName": "DocStrap",
"footer": "",
"copyright": "DocStrap Copyright © 2012-2015 The contributors to the JSDoc3 and DocStrap projects.",
"navType": "vertical",
"theme": "cosmo",
"linenums": true,
"collapseSymbols": false,
"inverseNav": true,
"protocol": "html://",
"methodHeadingReturns": false
},
"markdown": {
"parser": "gfm",
"hardwrap": true
},
"opts": {
"template": "node_modules/sherry-docstrap/template",
"encoding": "utf8",
"destination": "./public/jsdoc/",
"recurse": true,
"readme": "README.md",
"tutorials": "./docs/"
}
}