diff --git a/modules/jsdoc/tag/dictionary/definitions.js b/modules/jsdoc/tag/dictionary/definitions.js index dd00849c..4ba98b9b 100644 --- a/modules/jsdoc/tag/dictionary/definitions.js +++ b/modules/jsdoc/tag/dictionary/definitions.js @@ -171,7 +171,13 @@ dictionary.defineTag('param', { mustHaveValue: true, canHaveType: true, - canHaveName: true + canHaveName: true, + onTagged: function(doclet, tag) { + if (!doclet.params) { doclet.params = []; } + doclet.params.push(tag.value); + + return false; + } }); dictionary.defineTag('private', { @@ -196,7 +202,12 @@ dictionary.defineTag('returns', { mustHaveValue: true, - canHaveType: true + canHaveType: true, + onTagged: function(doclet, tag) { + doclet.returns = tag.value; + + return false; + } }) .synonym('return'); diff --git a/templates/default/publish.js b/templates/default/publish.js index 2d932096..05cd0c47 100644 --- a/templates/default/publish.js +++ b/templates/default/publish.js @@ -29,15 +29,26 @@ return !doclet.undocumented; }); + // add template helpers + docSet.doclets.forEach(function(doclet) { + doclet['params?'] = doclet.params && doclet.params.length > 0; + }); + docSet.sortByLongname(); + var partials = { + param: readFile(BASEDIR + 'templates/default/tmpl/param.mustache'), + returns: readFile(BASEDIR + 'templates/default/tmpl/returns.mustache') + }; + // apply template out = Mustache.to_html( templates.index, { docs: docSet.doclets, summarize: summarize - } + }, + partials ); if (opts.destination === 'console') { diff --git a/templates/default/tmpl/index.html b/templates/default/tmpl/index.html index 8f54888e..9d3cd0ff 100644 --- a/templates/default/tmpl/index.html +++ b/templates/default/tmpl/index.html @@ -25,6 +25,11 @@ font-size: 110%; font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Verdana, Tahoma, sans-serif; } + + ol.params { + list-style-type:none; + } + @@ -39,6 +44,21 @@ {{#description}}
{{#summarize}}{{{description}}}{{/summarize}} +
+ {{#params?}} +

Parameters:

+
    + {{#params}} {{>param}} {{/params}} +
+ {{/params?}} + + {{#returns}} +

Returns:

+
    + {{>returns}} +
+ {{/returns}} +
{{/description}} {{/docs}} diff --git a/templates/default/tmpl/param.mustache b/templates/default/tmpl/param.mustache new file mode 100644 index 00000000..e28cdcd5 --- /dev/null +++ b/templates/default/tmpl/param.mustache @@ -0,0 +1,6 @@ +
  • + {{#type}} + { {{#names}}{{.}} {{/names}} } + {{/type}} + {{name}} +
  • diff --git a/templates/default/tmpl/returns.mustache b/templates/default/tmpl/returns.mustache new file mode 100644 index 00000000..c1e51fb7 --- /dev/null +++ b/templates/default/tmpl/returns.mustache @@ -0,0 +1,6 @@ +
  • + {{#type}} + { {{#names}}{{.}} {{/names}} } + {{/type}} + {{description}} +