Integrates jsdoc3 generation into your Grunt build
This plugin enables you to integrate the generation of comments based documentation into your Grunt build.
To comply with convention, the package's name was changed from
grunt-jsdoc. You'll have to upgrade your
package.json if you're still using
You also need
java installed and available in your PATH.
Install this grunt plugin next to your project's Gruntfile.js with:
npm install grunt-jsdoc --save-dev
The jsdoc3 team is working on the 3.3.0 version that works on node.js and doesn't need Rhino (Java) anymore. This version is not yet stable (flagged as alpha). If you want this plugin to use this version, you can install the beta tag of this grunt plugin (branch 0.6.x).
npm install grunt-jsdoc@beta --save-dev
Feedback on the beta branch is more than welcomed!
If you use the previous version of Grunt (0.3), you can install it with:
npm install grunt-jsdoc-plugin
For documentation related issues, please ask the jsdoc3 people. To be sure the issue comes from the Grunt plugin, you can check by running directly jsdoc3 command. Run the task with the
--debug flag and the command to run is outputed.
Configure the plugin to your project's Gruntfile.js.
First, add the
jsdoc entry to the options of the
initConfig method :
gruntinitConfigjsdoc :dist :src: 'src/*.js' 'test/*.js'options:destination: 'doc';
The supported options are
src: (required) an array of pattern that matches the files to extract the documentation from. You can also add the pattern to a README.md file to include it in your doc as described there.
dest: (alias to
options.destination) set up the destination folder, the grunt way
jsdoc: (optional) the path to the jsdoc bin (needed only for some border line cases)
options: options used by jsdoc
destination: (required) the folder where the doc is generated
configure: (optional) path to a config file
template: (optional) path or name to a different template
private: (optional) include the private functions to the doc (
Then, load the plugin
The plugin includes docstrap, as well as the default template provided by jsdoc3. To use docstrap, you can use the following configuration:
jsdoc :dist :src: 'src/**/*.js' 'README.md'options:destination: 'doc'template : "node_modules/grunt-jsdoc/node_modules/ink-docstrap/template"configure : "node_modules/grunt-jsdoc/node_modules/ink-docstrap/template/jsdoc.conf.json"
To generate the documentation, you need to call the
jsdoc task :
$> grunt jsdoc
or integrate it to your build sequence :
gruntregisterTask'default' 'lint' 'test' 'jsdoc';
Any contribution is welcome! Please check the issues. Do some unit/integration tests as far as possible.
Copyright (c) 2012 Bertrand Chevrier Licensed under the MIT license.