krampstudio / grunt-jsdoc

A grunt plugin to generate javascript doc by running jsdoc3 on your grunt projects.
MIT License
387 stars 83 forks source link

grunt-jsdoc Build Status NPM version Built with Grunt

Npm Downloads

This plugin enables you to integrate the generation of comments based documentation into your Grunt build.

Generate your documentation

Install

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');

Configuration

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

Code Documentation

This plugin is a wrapper around jsdoc3. Please refer to the documentation for the documentation details.

Templates

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"
        }
    }
}

Generation

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']);

Compatibility

:warning: Migrate from 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)

:warning: Migrate from 1.x.x to 2.x.x branch :

The private option follows now the default jsdoc behavior : false by default.

Contributions

Every contribution is more than welcomed. You can:

Upstream issues

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.

Release History

License

Copyright (c) 2012 Bertrand Chevrier Licensed under the MIT license.