X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=JSDOC%2FBuildDocs.js;h=0dd71391fe133f1a43db89712fb3e09f188694cc;hb=7703cb76f002d7a1fd7e81659e6023a0688bfe3d;hp=783705f8dd383337638aa6fae159d5871a3daf4b;hpb=fb9e9a506a7aa3b48ca0dd3febbc2e6d7ceed860;p=gnome.introspection-doc-generator diff --git a/JSDOC/BuildDocs.js b/JSDOC/BuildDocs.js index 783705f..0dd7139 100644 --- a/JSDOC/BuildDocs.js +++ b/JSDOC/BuildDocs.js @@ -173,7 +173,9 @@ BuildDocs = { 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; @@ -183,10 +185,19 @@ BuildDocs = { templateFile : Options.templatesDir + "/class.tmpl", Link : Link }); - var classesTemplate = new Template( - templateFile : Options.templatesDir +"allclasses.tmpl", + var classesTemplate = new Template({ + templateFile : Options.templatesDir +"/allclasses.tmpl", Link : Link - ); + }); + var classesindexTemplate = new Template({ + templateFile : Options.templatesDir +"/index.tmpl", + Link : Link + }); + var fileindexTemplate = new Template({ + templateFile : Options.templatesDir +"/allfiles.tmpl", + Link: Link + }); + classTemplate.symbolSet = symbolSet; @@ -208,15 +219,16 @@ BuildDocs = { 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]; @@ -228,7 +240,9 @@ BuildDocs = { 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) + } @@ -237,19 +251,15 @@ BuildDocs = { Link.base = ""; publish.classesIndex = classesTemplate.process(classes); - try { - var classesindexTemplate = new JSDOC.JsPlate(publish.conf.templatesDir+"index.tmpl"); - } - catch(e) { print(e.message); quit(); } + - var classesIndex = classesindexTemplate.process(classes); - IO.saveFile(publish.conf.outDir, "index"+publish.conf.ext, classesIndex); - classesindexTemplate = classesIndex = classes = null; + File.write(Options.target + "/index."+ Options.publishExt, + classesindexTemplate.process(classes) + ); - try { - var fileindexTemplate = new JSDOC.JsPlate(publish.conf.templatesDir+"allfiles.tmpl"); - } - catch(e) { print(e.message); quit(); } + // blank everything???? classesindexTemplate = classesIndex = classes = null; + + var documentedFiles = symbols.filter(isaFile); var allFiles = []; @@ -270,7 +280,7 @@ BuildDocs = { fileindexTemplate = filesIndex = files = null; } - publishJSON = function(data) + publishJSON = function(file, data) { // what we need to output to be usefull... // a) props.. @@ -322,14 +332,14 @@ BuildDocs = { 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;