grunt-jsduck

Compile JSDuck documentation.

npm install grunt-jsduck
11 downloads in the last day
124 downloads in the last week
821 downloads in the last month

grunt-jsduck NPM version

Grunt task to compile JSDuck documentation

Getting Started

Installation

WARNING! Starting from version 1.0.0, the task is incompatible with Grunt 0.3. Use the legacy 0.1.x version you still use Grunt 0.3.

You need to have Ruby and JSDuck installed. Refer to project homepage for installation instructions.

Install this grunt plugin next to your project's grunt.js gruntfile with: npm install grunt-jsduck

Then add this line to your project's grunt.js gruntfile:

grunt.loadNpmTasks('grunt-jsduck');

Configuration

Inside your grunt.js file add a section named jsduck. Read the JSDuck Guide for an overview of its features.

src

Input paths containing JavaScript code to document. You can use wildcards here (see example below).

dest

Output directory for generated documentation.

options

Additional options that will be passed to jsduck. Run jsduck --help for a full list.

Example configuration

jsduck: {
    main: {
        // source paths with your code
        src: [
            'ext-4.1.1/src',
            'project1/js',
            'project2/**/*.js'  // globbing supported!
        ],

        // docs output dir
        dest: 'docs',

        // extra options
        options: {
            'builtin-classes': true,
            'warnings': ['-no_doc', '-dup_member', '-link_ambiguous'],
            'external': ['XMLHttpRequest']
        }
    }
}

Running

Running the jsduck multitask without additional parameters will execute it with all specified targets:

grunt jsduck

Running

grunt jsduck:main

will execute the task with main target.

Sometimes it's useful to override the output directory at compile time. You can pass it as a second argument like this:

grunt jsduck:main:/var/www/my-awesome-project/docs

Contributing

Please follow the existing coding style. Respect the .editorconfig and .jshintrc files.

License

Copyright (c) 2012-2013 Dmitry Pashkevich, contributors. Licensed under the MIT license.

npm loves you