diff --git a/docs/args/partials/help.mustache b/docs/args/partials/help.mustache
index 0563c350..7710dd17 100644
--- a/docs/args/partials/help.mustache
+++ b/docs/args/partials/help.mustache
@@ -1,7 +1,7 @@
YUI Doc generates API documentation from a modified JavaDoc syntax.
-Current version (0.3.49)
+Current version (0.3.50)
Usage: yuidoc
diff --git a/output/api/classes/CLI.html b/output/api/classes/CLI.html
index b5020f14..c27699fa 100644
--- a/output/api/classes/CLI.html
+++ b/output/api/classes/CLI.html
@@ -19,7 +19,7 @@
- API Docs for: 0.3.49
+ API Docs for: 0.3.50
diff --git a/output/api/classes/DocBuilder.html b/output/api/classes/DocBuilder.html
index c0936534..3eb8b421 100644
--- a/output/api/classes/DocBuilder.html
+++ b/output/api/classes/DocBuilder.html
@@ -19,7 +19,7 @@
- API Docs for: 0.3.49
+ API Docs for: 0.3.50
diff --git a/output/api/classes/DocParser.html b/output/api/classes/DocParser.html
index 290dcb53..a6dd5b6e 100644
--- a/output/api/classes/DocParser.html
+++ b/output/api/classes/DocParser.html
@@ -19,7 +19,7 @@
- API Docs for: 0.3.49
+ API Docs for: 0.3.50
diff --git a/output/api/classes/DocView.html b/output/api/classes/DocView.html
index a8eee88e..5ddf6dee 100644
--- a/output/api/classes/DocView.html
+++ b/output/api/classes/DocView.html
@@ -19,7 +19,7 @@
- API Docs for: 0.3.49
+ API Docs for: 0.3.50
diff --git a/output/api/classes/Files.html b/output/api/classes/Files.html
index b689060a..59cc1e70 100644
--- a/output/api/classes/Files.html
+++ b/output/api/classes/Files.html
@@ -19,7 +19,7 @@
- API Docs for: 0.3.49
+ API Docs for: 0.3.50
diff --git a/output/api/classes/Help.html b/output/api/classes/Help.html
index 80cf9dd4..19e6b2d2 100644
--- a/output/api/classes/Help.html
+++ b/output/api/classes/Help.html
@@ -19,7 +19,7 @@
- API Docs for: 0.3.49
+ API Docs for: 0.3.50
diff --git a/output/api/classes/Main.html b/output/api/classes/Main.html
index 445ac96b..56223f41 100644
--- a/output/api/classes/Main.html
+++ b/output/api/classes/Main.html
@@ -19,7 +19,7 @@
- API Docs for: 0.3.49
+ API Docs for: 0.3.50
diff --git a/output/api/classes/Options.html b/output/api/classes/Options.html
index 18f3adee..bdd6d791 100644
--- a/output/api/classes/Options.html
+++ b/output/api/classes/Options.html
@@ -19,7 +19,7 @@
- API Docs for: 0.3.49
+ API Docs for: 0.3.50
diff --git a/output/api/classes/Server.html b/output/api/classes/Server.html
index d8425370..e1f2ed32 100644
--- a/output/api/classes/Server.html
+++ b/output/api/classes/Server.html
@@ -19,7 +19,7 @@
- API Docs for: 0.3.49
+ API Docs for: 0.3.50
diff --git a/output/api/classes/Utils.html b/output/api/classes/Utils.html
index d489b838..1cf31df1 100644
--- a/output/api/classes/Utils.html
+++ b/output/api/classes/Utils.html
@@ -19,7 +19,7 @@
- API Docs for: 0.3.49
+ API Docs for: 0.3.50
diff --git a/output/api/classes/YUIDoc.html b/output/api/classes/YUIDoc.html
index 437b3dbe..f567fdc3 100644
--- a/output/api/classes/YUIDoc.html
+++ b/output/api/classes/YUIDoc.html
@@ -19,7 +19,7 @@
- API Docs for: 0.3.49
+ API Docs for: 0.3.50
+
+
+
+
runPreprocessors
+
+
+
()
+
+
+
+
+ Object
+
+
+
+
+
+
+
private
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Applies preprocessors to the data tree.
+This function first clones the data and operates on the clone.
+
+
+
+
+
+
+
+
Returns:
+
+
+
+
+
Object :
+
+
The mutated data
+
+
+
+
+
+
+
@@ -881,7 +964,7 @@ writeJSON
- lib/yuidoc.js:248
+ lib/yuidoc.js:287
@@ -892,7 +975,8 @@ writeJSON
-
Writes the parser JSON data to disk.
+
Writes the parser JSON data to disk.
+Applies preprocessors, if any.
@@ -1020,7 +1104,7 @@ endtime
- lib/yuidoc.js:362
+ lib/yuidoc.js:404
@@ -1300,7 +1384,7 @@ starttime
- lib/yuidoc.js:340
+ lib/yuidoc.js:382
diff --git a/output/api/data.json b/output/api/data.json
index d44f2351..aa97a6dd 100644
--- a/output/api/data.json
+++ b/output/api/data.json
@@ -3,7 +3,7 @@
"name": "yuidoc-root",
"logo": "http://yuilibrary.com/img/yui-logo.png",
"description": "YUIDoc, YUI's JavaScript Documentation engine.",
- "version": "0.3.49"
+ "version": "0.3.50"
},
"files": {
"lib/builder.js": {
@@ -2349,7 +2349,22 @@
{
"file": "lib/yuidoc.js",
"line": 248,
- "description": "Writes the parser JSON data to disk.",
+ "description": "Applies preprocessors to the data tree. \nThis function first clones the data and operates on the clone.",
+ "itemtype": "method",
+ "name": "runPreprocessors",
+ "access": "private",
+ "tagname": "",
+ "return": {
+ "description": "The mutated data",
+ "type": "Object"
+ },
+ "class": "YUIDoc",
+ "module": "yuidoc"
+ },
+ {
+ "file": "lib/yuidoc.js",
+ "line": 287,
+ "description": "Writes the parser JSON data to disk.\nApplies preprocessors, if any.",
"itemtype": "method",
"name": "writeJSON",
"params": [
@@ -2370,7 +2385,7 @@
},
{
"file": "lib/yuidoc.js",
- "line": 334,
+ "line": 376,
"description": "Process the config, walk the file tree and write out the JSON data.",
"itemtype": "method",
"name": "run",
@@ -2383,7 +2398,7 @@
},
{
"file": "lib/yuidoc.js",
- "line": 340,
+ "line": 382,
"description": "Timestamp holder so we know when YUIDoc started the parse process.",
"itemtype": "property",
"name": "starttime",
@@ -2393,7 +2408,7 @@
},
{
"file": "lib/yuidoc.js",
- "line": 362,
+ "line": 404,
"description": "Timestamp holder so we know when YUIDoc has finished the parse process.",
"itemtype": "property",
"name": "endtime",
diff --git a/output/api/files/lib_builder.js.html b/output/api/files/lib_builder.js.html
index 387222e4..2f5ca437 100644
--- a/output/api/files/lib_builder.js.html
+++ b/output/api/files/lib_builder.js.html
@@ -19,7 +19,7 @@
- API Docs for: 0.3.49
+ API Docs for: 0.3.50
diff --git a/output/api/files/lib_cli.js.html b/output/api/files/lib_cli.js.html
index 184ccac8..b4e0cf10 100644
--- a/output/api/files/lib_cli.js.html
+++ b/output/api/files/lib_cli.js.html
@@ -19,7 +19,7 @@
- API Docs for: 0.3.49
+ API Docs for: 0.3.50
diff --git a/output/api/files/lib_docparser.js.html b/output/api/files/lib_docparser.js.html
index 34eec4fe..ea486a29 100644
--- a/output/api/files/lib_docparser.js.html
+++ b/output/api/files/lib_docparser.js.html
@@ -19,7 +19,7 @@
- API Docs for: 0.3.49
+ API Docs for: 0.3.50
@@ -370,7 +370,7 @@
File: lib/docparser.js
// extract the first word, this is the param name
match = REGEX_FIRSTWORD.exec(desc);
if (match) {
- name = trim(match[1]);
+ name = trim(explodeString(match[1]));
desc = trim(match[2]);
}
@@ -493,7 +493,7 @@
File: lib/docparser.js
}
result = {
- description: explodeString(desc)
+ description: Y.unindent(explodeString(desc))
};
if (type) {
diff --git a/output/api/files/lib_docview.js.html b/output/api/files/lib_docview.js.html
index 1a46b975..9596a7e5 100644
--- a/output/api/files/lib_docview.js.html
+++ b/output/api/files/lib_docview.js.html
@@ -19,7 +19,7 @@
- API Docs for: 0.3.49
+ API Docs for: 0.3.50
diff --git a/output/api/files/lib_files.js.html b/output/api/files/lib_files.js.html
index dbf07c1d..e3aecf7f 100644
--- a/output/api/files/lib_files.js.html
+++ b/output/api/files/lib_files.js.html
@@ -19,7 +19,7 @@
- API Docs for: 0.3.49
+ API Docs for: 0.3.50
diff --git a/output/api/files/lib_help.js.html b/output/api/files/lib_help.js.html
index 646c3cd7..3ed9e5b0 100644
--- a/output/api/files/lib_help.js.html
+++ b/output/api/files/lib_help.js.html
@@ -19,7 +19,7 @@
- API Docs for: 0.3.49
+ API Docs for: 0.3.50
diff --git a/output/api/files/lib_index.js.html b/output/api/files/lib_index.js.html
index 58c6a217..427194e6 100644
--- a/output/api/files/lib_index.js.html
+++ b/output/api/files/lib_index.js.html
@@ -19,7 +19,7 @@
- API Docs for: 0.3.49
+ API Docs for: 0.3.50
diff --git a/output/api/files/lib_options.js.html b/output/api/files/lib_options.js.html
index 23854819..dd53ceb1 100644
--- a/output/api/files/lib_options.js.html
+++ b/output/api/files/lib_options.js.html
@@ -19,7 +19,7 @@
- API Docs for: 0.3.49
+ API Docs for: 0.3.50
diff --git a/output/api/files/lib_server.js.html b/output/api/files/lib_server.js.html
index ee31adbd..7b27a41b 100644
--- a/output/api/files/lib_server.js.html
+++ b/output/api/files/lib_server.js.html
@@ -19,7 +19,7 @@
- API Docs for: 0.3.49
+ API Docs for: 0.3.50
diff --git a/output/api/files/lib_utils.js.html b/output/api/files/lib_utils.js.html
index 0f4c1534..39241ced 100644
--- a/output/api/files/lib_utils.js.html
+++ b/output/api/files/lib_utils.js.html
@@ -19,7 +19,7 @@
- API Docs for: 0.3.49
+ API Docs for: 0.3.50
diff --git a/output/api/files/lib_yuidoc.js.html b/output/api/files/lib_yuidoc.js.html
index 4a9294da..e3bf98b5 100644
--- a/output/api/files/lib_yuidoc.js.html
+++ b/output/api/files/lib_yuidoc.js.html
@@ -19,7 +19,7 @@
- API Docs for: 0.3.49
+ API Docs for: 0.3.50
@@ -355,8 +355,48 @@
File: lib/yuidoc.js
}
},
+ /**
+ * Applies preprocessors to the data tree.
+ * This function first clones the data and operates on the clone.
+ * @method runPreprocessors
+ * @private
+ * @return {Object} The mutated data
+ */
+ runPreprocessors: function (data) {
+ var self = this,
+ preprocessors,
+ preprocessorsRelativeTo;
+
+ // We will try to load the preprocessors as npm modules, but we will also
+ // search for them relative to the process working directory.
+ // The latter is consistent with how other paths are treated by yuidoc,
+ // such as the config options 'paths' and 'outdir'.
+ preprocessorsRelativeTo = process.cwd();
+
+ if (self.options.preprocessor) {
+ data=JSON.parse(JSON.stringify(data));
+
+ preprocessors = [].concat(self.options.preprocessor);
+
+ preprocessors.forEach(function (preprocessor) {
+ var preprocessorModule;
+
+ try {
+ preprocessorModule = require(preprocessor);
+ } catch (e) {
+ preprocessorModule = require(path.resolve(preprocessorsRelativeTo, preprocessor));
+ }
+
+ preprocessorModule(data, self.options);
+ });
+ }
+
+ return data;
+ },
+
/**
* Writes the parser JSON data to disk.
+ * Applies preprocessors, if any.
* @method writeJSON
* @param {Object} parser The DocParser instance to use
* @private
@@ -372,6 +412,8 @@
File: lib/yuidoc.js
data.warnings = parser.warnings;
+ data = this.runPreprocessors(data);
+
if (self.selleck && self.options.selleck && data.files && data.modules) {
Object.keys(self.selleck).forEach(function (file) {
Object.keys(data.files).forEach(function (f) {
diff --git a/output/api/index.html b/output/api/index.html
index f2f022ff..075804d1 100644
--- a/output/api/index.html
+++ b/output/api/index.html
@@ -19,7 +19,7 @@
- API Docs for: 0.3.49
+ API Docs for: 0.3.50
diff --git a/output/api/modules/yuidoc.html b/output/api/modules/yuidoc.html
index b4712b5b..06888134 100644
--- a/output/api/modules/yuidoc.html
+++ b/output/api/modules/yuidoc.html
@@ -19,7 +19,7 @@
- API Docs for: 0.3.49
+ API Docs for: 0.3.50
diff --git a/output/args/index.html b/output/args/index.html
index 5b41d958..52be44ce 100644
--- a/output/args/index.html
+++ b/output/args/index.html
@@ -45,7 +45,7 @@
Running YUIDoc on the Command Line
YUI Doc generates API documentation from a modified JavaDoc syntax.
-Current version (0.3.49)
+Current version (0.3.50)
Usage: yuidoc <options> <input path>