Templates should define "exports.publish" instead of a global "publish" function #166
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
JSDoc expects templates to define a global
publish
function that publishes the docs. This works fine, but it effectively precludes the following enhancements, all of which I'd love to implement at some point:To add flexibility, I think it would be better for templates to assign the
publish
function toexports.publish
.This pull request adds support for this feature and converts the existing templates to use
exports.publish
instead ofpublish
. It doesn't remove support for the globalpublish
function, so existing user-defined templates will still work; however, it logs a warning if a template relies upon a globalpublish
function.The diffs for the templates'
publish.js
files are misleadingly large. Most of the changes are just whitespace adjustments. I also made a few other changes to address JSHint warnings. I tested the templates by running them against JSDoc, and everything appears to be working as expected.(The pull request also fixes an unrelated issue with the
jsdoc
shell script's--debug
option, which wasn't being stripped properly, at least on OS X. I ran into this while I was debugging the other changes.)I'll wait to merge this until I get some feedback on whether these changes make sense.