File.list(Options.templatesDir + '/static').forEach(function (f) {
File.copy(Options.templatesDir + '/static/' + f, Options.target + '/' + f);
});
-
+ if (!File.isDirectory(Options.target +"/json")) {
+ File.makeDir(Options.target +"/json");
+ }
// used to check the details of things being linked to
Link.symbolSet = symbolSet;
Link : Link
});
var classesTemplate = new Template(
- templateFile : Options.templatesDir +"allclasses.tmpl",
+ templateFile : Options.templatesDir +"/allclasses.tmpl",
Link : Link
);
for (var i = 0, l = files.length; i < l; i++) {
var file = files[i];
var srcDir = Options.target + "/symbols/src/";
- makeSrcFile(file, srcDir);
+ this.makeSrcFile(file, srcDir);
}
var classes = symbols.filter(isaClass).sort(makeSortby("alias"));
Link.base = "../";
+
publish.classesIndex = classesTemplate.process(classes); // kept in memory
- IO.makeDir(publish.conf.outDir+"json");
+
for (var i = 0, l = classes.length; i < l; i++) {
var symbol = classes[i];
print("write " + Options.target+"/symbols/" +symbol.alias+'.' + Options.publishExt);
// dump out a
- IO.saveFile(publish.conf.outDir+"json/", symbol.alias+'.json' , publish.jsonRender(symbol));
+
+ this.publishJSON(Options.target+"/json/", symbol.alias+'.json', symbol)
+
}
fileindexTemplate = filesIndex = files = null;
}
- publishJSON = function(data)
+ publishJSON = function(file, data)
{
// what we need to output to be usefull...
// a) props..
props : props,
events: events
};
- return JSON.encode(ret);
+ File.write(file, JSON.stringify(ret, null, 2 ));
// b) methods
// c) events
- }
+ },
makeSrcFile: function(path, srcDir, name) {
if (Options.outputSource) return;