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.