grunt-amd-doc

Grunt plugin for the amd-doc documentation generator

grunt-amd-doc

grunt-amd-doc is a grunt multi-task for amd-doc, a JavaScript documentation generator for AMD-based projects.

This plugin requires Grunt ~0.4.0

From the same directory as your Gruntfile, run

npm install grunt-amd-doc

Then add the following line to your Gruntfile:

grunt.loadNpmTasks('grunt-amd-doc');

You can verify that the task is available by running grunt --help and checking that "amd-doc" is under "Available tasks".

grunt-amd-doc reads two sections of your config: amd-doc and requirejs. amd-doc can contain these properties (example from deferreds.js):

'amd-doc': {
    all: {
        //Grunt files configuration object to process for documentation 
        //(more: http://gruntjs.com/configuring-tasks) 
        files: {
            src: 'src/deferreds/**/*.js'
        },
 
        options: {
            //directory to output generated HTML (default = 'doc/out') 
            out: 'doc/out',
 
            //directory to store jsdoc cache (default = 'doc/cache') 
            cache: 'doc/cache',
 
            //directory to look for markdown mixins (default = 'doc/mixin') 
            mixin: 'doc/mixin',
 
            //github URL where source is available. the file path and line number of 
            //each documented variable will be added to this to make source links. 
            repoview: 'https://github.com/zship/deferreds.js/blob/develop/',
 
            //Array of Type (see tasks/doc/Types.js) objects to transform into links 
            //when used as parameter types, return types, or description namepaths 
            types: (function() {
                var types = [];
 
                //make all built-in types link to their MDN pages 
                ['Number', 'String', 'Object', 'Function', 'Array', 'RegExp', 'Boolean'].forEach(function(val) {
                    types.push({
                        name: val,
                        link: 'https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/' + val
                    });
                });
 
                types.push({
                    name: 'Any',
                    link: 'https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects'
                });
 
                types.push({
                    name: 'void',
                    link: 'https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/undefined'
                });
 
                types.push({
                    name: 'Element',
                    link: 'https://developer.mozilla.org/en-US/docs/DOM/element'
                });
 
                types.push({
                    name: 'Constructor',
                    link: 'https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Object/constructor'
                });
 
                types.push({
                    name: 'jQuery',
                    link: 'http://api.jquery.com/jQuery/'
                });
 
                types.push({
                    name: 'require',
                    link: 'http://requirejs.org/'
                });
 
                types.push({
                    //any name matching this RegExp (with name.search()) will be given 
                    //the following link 
                    regexp: /amd-utils\/.*/,
                    link: 'http://millermedeiros.github.com/amd-utils/'
                });
 
                return types;
            })()
        }
    }
},

requirejs is a standard r.js configuration object. grunt-amd-doc uses basePath, paths, and packages (all optional) to transform file names to AMD module names.

Once these options are in place, grunt amd-doc will run amd-doc.