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 jsdocdestination: 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:
- report issues
- Fix, improve the configuration, add new features. The best is to fork and submit a pull request
- Test and adapt to other OS
- Fix my English mistakes
- Update the documentation
- Create a better logo
- Offer me a coffee (I'm maintaining this plugin on my free time)
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 managementdest option (#60, #63 and #66)child_process.spawn instead of exec to run the commandCopyright (c) 2012 Bertrand Chevrier
Licensed under the MIT license.