jsdoc/templates
Jeff Williams ee2badcde2 improvements from @dchambers to nav-building code (#813)
Squashed commit of the following:

commit 723349a9c90a005137d01e19012778f4dddb1d12
Author: dchambers <dominic.chambers@gmail.com>
Date:   Fri Dec 5 13:14:13 2014 +0000

    Moved an assignment within the corresponding guard, since it was superfluous unless the guard was triggered.

commit 872974656e7500c99daba64e7db31f14f9874c0d
Author: dchambers <dominic.chambers@gmail.com>
Date:   Fri Dec 5 11:35:33 2014 +0000

    Use four spaces for tabulation.

commit 5eaabcf84c5395aeeeff018ea042e73d710e2846
Author: dchambers <dominic.chambers@gmail.com>
Date:   Mon Nov 24 18:15:36 2014 +0000

    Attempt to fix remaining linting errors -- may not work as I'm unable to run the build locally on my own machine to verify.

commit 0137865ff4aa4e888533a217f2e6bb3b12b7fc87
Author: dchambers <dominic.chambers@gmail.com>
Date:   Mon Nov 24 17:42:09 2014 +0000

    Attempt to fix remaining linting errors -- may not work as I'm unable to run the build locally on my own machine to verify.

commit 7d80410d63e29837b436776b8983004c8b92ecb2
Author: dchambers <dominic.chambers@gmail.com>
Date:   Mon Nov 24 17:17:51 2014 +0000

    Removed trailing whitespace from 'publish.js'.

commit 773b785756f5ee6c32cbcb1742543c1a2671efe7
Author: Dominic Chambers <dominic.chambers@gmail.com>
Date:   Tue Aug 26 09:58:50 2014 +0100

    Ensure the title for classes defined within modules shows the thing
    being documented as being a class rather than a module, as it currently
    does for interfaces.

commit 9fc527d63aa6839fbae07f4b6db8dee027f6fc43
Author: Dominic Chambers <dominic.chambers@gmail.com>
Date:   Tue Aug 26 09:51:10 2014 +0100

    Remove the 'module:' prefix from index links to classes and interfaces
    defined within modules.

commit 21e3e31f2499bbc9cb5f10c09cfaeb86d25ded9b
Author: Dominic Chambers <dominic.chambers@gmail.com>
Date:   Tue Aug 26 09:43:13 2014 +0100

    Removed duplicated code from the buildNav() function, where the version
    of the code used is one where items are only written if they haven't
    already been encountered, and a heading is only written when there are
    items to appear beneath that heading.
    Conflicts:
    	templates/default/publish.js
2014-12-06 15:50:28 -08:00
..
2014-03-04 13:47:57 -08:00

To create or use your own template:

  1. Create a folder with the same name as your template (for example, mycooltemplate).
  2. Within the template folder, create a file named publish.js. This file must be a CommonJS module that exports a method named publish.

For example:

/** @module publish */

/**
 * Generate documentation output.
 *
 * @param {TAFFY} data - A TaffyDB collection representing
 *                       all the symbols documented in your code.
 * @param {object} opts - An object with options information.
 */
exports.publish = function(data, opts) {
    // do stuff here to generate your output files
};

To invoke JSDoc 3 with your own template, use the -t command line option, and specify the path to your template folder:

./jsdoc mycode.js -t /path/to/mycooltemplate