123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- <?
- function anchorify(str)
- {
- // how github creates the name attribute for anchors from headlines
- str = str.replace(/[()<>.]/g, "");
- str = str.replace(/[^a-z0-9_-]+/gi, "-");
- str = str.toLowerCase();
- return str;
- }
-
- docfiles.forEach(function(doc)
- {
- doc.javadoc.forEach(function(comment)
- {
- var tags = comment.raw.tags;
- comment.tagsByType = comment.raw.tags.reduce(function(result, tag)
- {
- result[tag.type] = tag;
- return result;
- }, {});
- comment.ignore = "ignore" in comment.tagsByType;
- if(comment.name && !comment.ignore)
- {
- if(comment.isMethod || comment.isFunction)
- {
- var args = comment.paramTags.map(function(c)
- {
- return c.joinedTypes + " " + c.name;
- }).join(", ");
- var returnVal = "";
- if(comment.returnTags[0])
- {
- returnVal = " -> " + comment.returnTags[0].joinedTypes;
- }
- comment.args = args;
- comment.returnVal = returnVal;
- comment.longName = comment.name + "(" + comment.args + ")" + comment.returnVal;
- ?><?= "- [`" + comment.longName + "`](#" + anchorify(comment.longName) + ")\n" ?><?
- } else {
- ?># <?= comment.name + "\n" ?><?
- }
- }
- });
-
- doc.javadoc.forEach(function(comment)
- {
- if(!comment.ignore)
- {
- ?><?= "\n***\n" ?><?
-
- if(comment.name)
- {
- if(comment.isMethod || comment.isFunction)
- {
- ?><?= "#### `" + comment.longName + "`\n" ?><?
- }
- else
- {
- ?><?= "## `" + comment.name + "`\n" ?><?
- }
- }
- if(comment.deprecated)
- {
- ?><?= "\n\n**Deprecated - Might be removed in a later release.**\n\n" ?><?
- }
-
- ?><?= comment.description + "\n" ?><?
- if(comment.paramTags.length)
- {
- ?><?= "**Parameters:**\n\n" ?><?
- comment.paramTags.forEach(function(paramTag, i)
- {
- ?><?= (i + 1) + ". **`" + paramTag.joinedTypes + "`** " + (paramTag.optional ? "(optional) " : "") + paramTag.name + " " + (paramTag.description ? "– " + paramTag.description : "") + "\n" ?><?
- });
- }
- if(comment.returnTags.length)
- {
- ?><?= "**Returns:**\n\n" ?><?
- comment.returnTags.forEach(function(returnTag)
- {
- ?><?= "* **`" + returnTag.joinedTypes + "`** " + returnTag.description + "\n" ?><?
- });
- }
- }
- });
- ?><?= "\n<!-- " + doc.filename + "-->\n" ?><?
- });
- ?>
- <!-- vim: set tabstop=2 shiftwidth=2 softtabstop=2: -->
|