Because of the need to cooperate with jsdoc-plugin-hia code preview function that will be implemented later, some specific styles are needed, and there may be more customization requirements in the future, so I forked docdash.It is more convenient by this way.
Because only a few style adjustments have been made for the time being, only the project itself is at present. If the expansion is more in the later stage, then I maybe consider whether to build the corresponding project official website.
因为需要配合 jsdoc-plugin-hia 后期将会实现的代码预览功能,因而需要一些针对性的样式,加上以后可能会有更多的自定义需求,因此fork出docdash的衍生项目,这样更方便些。
因为暂时只做了一些样式调整,因此目前只有项目本身,后期如果扩展的更多,则再考虑是否搭建相应的项目官网。
npm i docdash-hia -D
A clean, responsive documentation template theme for JSDoc 3.
See http://clenemt.github.io/docdash/ for a sample demo. 🚀
$ npm install docdash
Clone repository to your designated jsdoc
template directory, then:
$ jsdoc entry-file.js -t path/to/docdash
In your projects package.json
file add a new script:
"script": {
"generate-docs": "node_modules/.bin/jsdoc -c jsdoc.json"
}
In your jsdoc.json
file, add a template option.
"opts": {
"template": "node_modules/docdash"
}
See the config file for the fixtures or the sample below.
{
"tags": {
"allowUnknownTags": false
},
"source": {
"include": "../js",
"includePattern": ".js$",
"excludePattern": "(node_modules/|docs)"
},
"plugins": [
"plugins/markdown"
],
"opts": {
"template": "assets/template/docdash/",
"encoding": "utf8",
"destination": "docs/",
"recurse": true,
"verbose": true
},
"templates": {
"cleverLinks": false,
"monospaceLinks": false
}
}
Docdash supports the following options:
{
"docdash": {
"static": [false|true], // Display the static members inside the navbar
"sort": [false|true], // Sort the methods in the navbar
"sectionOrder": [ // Order the main section in the navbar (default order shown here)
"Classes",
"Modules",
"Externals",
"Events",
"Namespaces",
"Mixins",
"Tutorials",
"Interfaces"
]
"disqus": "", // Shortname for your disqus (subdomain during site creation)
"openGraph": { // Open Graph options (mostly for Facebook and other sites to easily extract meta information)
"title": "", // Title of the website
"type": "website", // Type of the website
"image": "", // Main image/logo
"site_name": "", // Site name
"url": "" // Main canonical URL for the main page of the site
},
"meta": { // Meta information options (mostly for search engines that have not indexed your site yet)
"title": "", // Also will be used as postfix to actualy page title, prefixed with object/document name
"description": "", // Description of overal contents of your website
"keyword": "" // Keywords for search engines
},
"search": [false|true], // Display seach box above navigation which allows to search/filter navigation items
"collapse": [false|true], // Collapse navigation by default except current object's navigation of the current page
"typedefs": [false|true], // Include typedefs in menu
"navLevel": [integer], // depth level to show in navbar, starting at 0 (false or -1 to disable)
"private": [false|true], // set to false to not show @private in navbar
"removeQuotes": [none|all|trim],// Remove single and double quotes, trim removes only surrounding ones
"scripts": [] // Array of external (or relative local copied using templates.default.staticFiles.include) scripts to inject into HTML,
"menu":{ // Adding additional menu items after Home
"Project Website":{ // Menu item name
"href":"https://myproject.com", //the rest of HTML properties to add to manu item
"target":"_blank",
"class":"menu-item",
"id":"website_link"
},
"Forum":{
"href":"https://myproject.com.forum",
"target":"_blank",
"class":"menu-item",
"id":"forum_link"
}
}
}
}
Place them anywhere inside your jsdoc.json
file.
Licensed under the Apache License, version 2.0. (see Apache-2.0).