// should not realy be here -- or anywhere...??
+function makeSortby(attribute) {
+ return function(a, b) {
+ if (a[attribute] != undefined && b[attribute] != undefined) {
+ a = a[attribute]; //.toLowerCase();
+ b = b[attribute];//.toLowerCase();
+ if (a < b) return -1;
+ if (a > b) return 1;
+ return 0;
+ }
+ }
+}
Options = false; // refer to this everywhere!
var txs = new TextStream(src);
- var tr = new TokenReader({ keepComments : true, keepWhite : true });
+ var tr = new TokenReader({ keepComments : true, keepWhite : true , sepIdents: false });
var ts = new TokenStream(tr.tokenize(txs));
function isaClass($) {
return ($.is("CONSTRUCTOR") || $.isNamespace);
}
- function makeSortby(attribute) {
- return function(a, b) {
- if (a[attribute] != undefined && b[attribute] != undefined) {
- a = a[attribute]; //.toLowerCase();
- b = b[attribute];//.toLowerCase();
- if (a < b) return -1;
- if (a > b) return 1;
- return 0;
- }
- }
- }
+
// var classesIndex = classesTemplate.process(classes); // kept in memory
-
+ Options.LOG.inform("iterate classes");
for (var i = 0, l = classes.length; i < l; i++) {
var symbol = classes[i];
// dump out a
- this.publishJSON(Options.target+"/json/", symbol.alias+'.json', symbol)
+ this.publishJSON(Options.target+"/json/" + symbol.alias+'.json', symbol)
// regenrate the index with different relative links
Link.base = "";
- var classesIndex = classesTemplate.process(classes);
+ //var classesIndex = classesTemplate.process(classes);
-
+ Options.LOG.inform("build index");
File.write(Options.target + "/index."+ Options.publishExt,
classesindexTemplate.process(classes)
}
allFiles = allFiles.sort(makeSortby("name"));
- File.write(Options.target , "/files."+Options.publishExt,
+ Options.LOG.inform("write files index");
+
+ File.write(Options.target + "/files."+Options.publishExt,
fileindexTemplate.process(allFiles)
);
},
-
+ /**
+ * JSON files are lookup files for the documentation
+ * - can be used by IDE's or AJAX based doc tools
+ *
+ *
+ */
publishJSON : function(file, data)
{
// what we need to output to be usefull...
m = ownEvents[i];
events.push( {
name : m.name.substring(1),
- sig : makeFuncSkel(m.params),
+ sig : this.makeFuncSkel(m.params),
type : 'function',
desc : m.desc
});
'</head><body class="highlightpage">' +
pretty +
'</body></html>');
+ },
+ /**
+ * used by JSON output to generate a function skeleton
+ */
+ makeFuncSkel :function(params) {
+ if (!params) return "function ()\n{\n\n}";
+ return "function (" +
+ params.filter(
+ function($) {
+ return $.name.indexOf(".") == -1; // don't show config params in signature
+ }
+ ).map( function($) { return $.name == 'this' ? '_self' : $.name; } ).join(", ") +
+ ")\n{\n\n}";
}
-
+
+
};