JSDoc Jekyll
A JSDOC Plugin and Template to generate a GitHub Pages compatible Jekyll Documentation Site from jsdoc comments.
Install
npm install --save-dev jsd-jekyll
Configuration
Add "./node_modules/jsd-jekyll"
as a plugin and template in your jsdoc config file.
Example:
{
"opts": {
"template": "./node_modules/jsd-jekyll",
"destination": "./out/",
"recurse": true
},
"plugins": ["./node_modules/jsd-jekyll"]
}
repos
{ array }
Optionally a link to your source code on GitHub can be added to the documentation.
Under opts in the jsdoc config file add:
"opts": {
"repos" : [{
"folder": "folderName",
"name": "user/repo"
}]
}
Multiple repos can be added to the array to support sub repositories based on the file path of the source code.
includeAll
{ boolean } default false
This will tag all files processed with @module filename
if no @module
tag is present.
functionFix
{ boolean } default false
folderCategory
{ boolean } default false
- Assigns modules to categories based on the file location
/api/main/index.js
will be tagged @category api-main
JSDoc
Basic @jsdoc tags should work as documented. Not all currently work with this template, more will be added over time.
Custom Tags
The following custom tags can be added.
@category
A category can be added to a @module
comment block to organize modules. Each category will create an index page with the relevant modules linked to the main api index.
Modules without a @category
tag will display on the api index.
@route
Use @route to document api routes in the following format
Add parameters using the appropriate param tag (@routeparam
, @headerparam
, @bodyparam
, or @queryparam
). All follow the @param
fromat ({type} name description
)
Linking Types
When using a module as a return or parameter type preface the module name with module:
Example:
Jekyll
To run Jekyll locally (requires ruby):
bundle install
bundle exec jekyll serve
Only /_data/jsdoc.json
will be overwritten when running jsdoc a second time. Other files can be customized as needed. To reset them, delete and run jsdoc.
Set up GitHub Pages
Credits