This plugin enables you to integrate the generation of comments based documentation into your Grunt build.
This plugin requires Grunt >=0.4.0
If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
npm install grunt-jsdoc --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-jsdoc');
First, add the jsdoc
entry to the options of the initConfig
method of your Gruntfile.js :
grunt.initConfig({
jsdoc : {
dist : {
src: ['src/*.js', 'test/*.js'],
options: {
destination: 'doc'
}
}
}
});
The supported options are
src
: an array of pattern that matches the files to extract the documentation from. You can also include a README.dest
: (alias to options.destination
) set up the destination folder, the grunt wayjsdoc
: (optional) the path to the jsdoc bin (needed only for some border line cases)options
: options used by jsdoc
destination
: the folder where the doc is generatedignoreWarnings
: (optional) do not show jsdoc warningsThis plugin is a wrapper around jsdoc3. Please refer to the documentation for the documentation details.
The plugin includes only the jsdoc3 template but you can configure any other jsdoc3 template. For example you can use ink-docstrap.
npm install --save-dev ink-docstrap
And in your Gruntfile.js
:
jsdoc : {
dist : {
src: ['src/**/*.js', 'README.md'],
options: {
destination : 'doc',
template : "node_modules/ink-docstrap/template",
configure : "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 :
grunt.registerTask('default', ['lint', 'test', 'jsdoc']);
0.x.x
to 1.x.x
branch :I have removed the direct dependency to ink-docstrap. If you still want it, grab the dependency by yourself (npm install --save-dev ink-docstrap
)
1.x.x
to 2.x.x
branch :The private
option follows now the default jsdoc behavior : false
by default.
Every contribution is more than welcomed. You can:
For documentation related issues, please use the jsdoc issue tracker
To be sure the issue comes from the Grunt plugin, you can check by comparing the results with a jsdoc command. Run the task with the --debug
flag to retrieve the jsdoc command to run.
marked
to prevent regex dosmarked
to prevent xsscross-spawn
instead of cross-spawn-async
, add generating
and generated
grunt eventsprivate
behavior, cross-spawn-async
instead of manual windows managementchild_process.spawn
instead of exec
to run the commandCopyright (c) 2012 Bertrand Chevrier Licensed under the MIT license.