X-Git-Url: http://git.roojs.org/?p=gnome.introspection-doc-generator;a=blobdiff_plain;f=docs.js;h=a34e3efa3a3f9de1ab036488ef8fc171971db27e;hp=82aea6e3bcc1d5b7869371c1e1223f26593f2201;hb=63ccc43e703a5a61980832c9f91ae92c62949c58;hpb=00db120fc87358a55c448ee88ccff7dbb410009e diff --git a/docs.js b/docs.js index 82aea6e..a34e3ef 100644 --- a/docs.js +++ b/docs.js @@ -3,14 +3,17 @@ Gtk = imports.gi.Gtk; Gio = imports.gi.Gio; Gdk = imports.gi.Gdk; -XObject = imports.XObject.XObject; - - +// generic libraries +XObject = imports.XObject.XObject; File = imports.File.File; console = imports.console.console; -Introspect = imports['JSDOC/Introspect.js'].Introspect; -Template = imports['JSDOC/Template.js'].Template; +Template = imports.JsTemplate.Template.Template; + +// Introspecion specific.. +NameSpace = imports.Introspect.NameSpace.NameSpace; +Link = imports.Introspect.Link.Link; + var outputdir = Seed.argv[2]; @@ -32,7 +35,7 @@ if (!File.isDirectory(outputdir)) { // Which libraries to build. -var ns_list = Introspect.namespaces(); +var ns_list = NameSpace.namespaces(); if (typeof(Seed.argv[3]) == 'string') { console.log(Seed.argv.length); ns_list = Seed.argv[3].split(','); @@ -45,16 +48,25 @@ ns_list = ns_list.sort(); langs=[]; File.list(__script_path__ + '/templates/').forEach(function(f) { if (!File.isDirectory(__script_path__ + '/templates/' + f)) { - continue; + return; } if (f == 'resources') { - continue; + return; } langs.push({ name : f, - cls_template : new Template(__script_path__ + '/templates/' + f + '/class.html'), - cls_ix_template : new Template(__script_path__ + '/templates/' + f + '/class_ix.html'), - reference_template : new Template(__script_path__ + '/templates/' + f + '/references.html'), + cls_template : new Template( { + templateFile : __script_path__ + '/templates/' + f + '/class.html', + Link : Link // links might be specific to languages.. + }), + cls_ix_template : new Template( { + templateFile : __script_path__ + '/templates/' + f + '/class_ix.html', + Link : Link // links might be specific to languages.. + }), + reference_template : new Template({ + templateFile : __script_path__ + '/templates/' + f + '/references.html', + Link : Link // links might be specific to languages.. + }), }); }); @@ -76,7 +88,7 @@ ns_list.forEach(function(ns_name) var idx = { name: ns_name}; console.log("START:" + ns_name); - var ns = Introspect.ns(ns_name); + var ns = NameSpace.ns(ns_name); // gir goes in top level... if (File.exists(ns.gir_file)) { @@ -84,9 +96,10 @@ ns_list.forEach(function(ns_name) } - ns['left_bar'] = cls_ix_template.process(ns); + langs.forEach(function(lang) { + ns['left_bar'] = lang.cls_ix_template.process(ns); // namespace template Gio.simple_write(outputdir + '/'+ lang.name+ '/' +ns_name + '.html', lang.cls_template.process(ns)); @@ -109,7 +122,7 @@ ns_list.forEach(function(ns_name) idx[i]= ns_name == 'GLib' ? 1 : ns[i].length ; ns[i].forEach( function(n) { var odata = XObject.extend( - Introspect.factory(actions[i], ns_name, n), + NameSpace.factory(actions[i], ns_name, n), { 'left_bar' :ns['left_bar'] } ); langs.forEach(function(lang) { @@ -131,7 +144,7 @@ var html = '' // output cross reference data.. langs.forEach(function(lang) { - for (var i in Introspect.references) { + for (var i in NameSpace.references) { html_file_path = [ outputdir, lang.name, i + '.html'].join('/'); @@ -145,7 +158,7 @@ langs.forEach(function(lang) { continue; } - refs = langs.reference_template.process(Introspect.references[i]); + refs = langs.reference_template.process(NameSpace.references[i]); // HTML to put refs into html = File.read(html_file_path); @@ -157,7 +170,15 @@ langs.forEach(function(lang) { Gio.simple_write(html_file_path, html); } -); -var ix_template = new Template(__script_path__ + '/templates/index.html'); -Gio.simple_write(outputdir + '/index.html', ix_template.process(ns_idx)); -File.silentRecursiveCopy(__script_path__ + '/templates/resources/', outputdir, Gio.FileCopyFlags.OVERWRITE); +}); + +// set up index and resources. +langs.forEach(function(lang) { + var ix_template = new Template({ + templateFile : __script_path__ + '/templates/' + lang.name + '/index.html', + Link : Link, // lang specifc? + }); + Gio.simple_write(outputdir + '/' + lang.name + '/index.html', ix_template.process(ns_idx)); + File.silentRecursiveCopy(__script_path__ + '/templates/resources/', + outputdir + '/' + lang.name , Gio.FileCopyFlags.OVERWRITE); +}); \ No newline at end of file