[introspection-doc-generator] Commit changes to top level
- From: Alan Knowles <alank src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [introspection-doc-generator] Commit changes to top level
- Date: Mon, 29 Mar 2010 14:28:45 +0000 (UTC)
commit bd23da659f79148fd4befb53701cdfc0d8766cc0
Author: Alan Knowles <alan akkbhome com>
Date: Mon Mar 29 22:27:53 2010 +0800
Commit changes to top level
JSDOC.js | 1 -
docs.js | 192 +++++++++++++++++++++++++++++--------------------------------
xnew.js | 3 +-
3 files changed, 93 insertions(+), 103 deletions(-)
---
diff --git a/JSDOC.js b/JSDOC.js
index c8b6395..bba697b 100644
--- a/JSDOC.js
+++ b/JSDOC.js
@@ -1,5 +1,4 @@
// <script type="text/javascript">
-GLib = imports.gi.GLib;
xnew = imports['xnew.js'].xnew;
diff --git a/docs.js b/docs.js
index 43cdc37..2361042 100644
--- a/docs.js
+++ b/docs.js
@@ -4,65 +4,56 @@ Gtk = imports.gi.Gtk;
Gio = imports.gi.Gio;
Gdk = imports.gi.Gdk;
-imports['Array.js'];
-JSDOC = imports['JSDOC.js'].JSDOC;
-console = imports['console.js'].console;
-Roo = imports['Roo.js'].Roo;
+imports['Object.js'].load(Object);
-Introspect = imports['JSDOC/Introspect.js'].Introspect;
+File = imports['File.js'].File;
+JSDOC = imports['JSDOC.js'].JSDOC;
+console = imports['console.js'].console;
+Introspect = imports['JSDOC/Introspect.js'].Introspect;
-
+var outputdir = Seed.argv[2];
+
+if (!outputdir) {
+ throw {
+ name: "ArgumentError",
+ message: "No output directory specified on the command line\n" +
+ "Usage seed docs.js /var/www/seed [Gtk] \n"
+ };
+}
-//var outputdir = '/home2/www/devel/seed';
-var outputdir = '/var/www/seed';
+if (!File.isDirectory(outputdir)) {
+ console.log("Creating directory " + outputdir);
+ File.mkdir(outputdir);
+};
// list namespace..
//var ns_list = [ 'GIRepository' ];
-var ns_list = JSDOC.Introspect.namespaces().sort();
-//console.dump(ns_list);
- // ns_list = [ 'Gio' ];
-//ns_list = [ 'Gtk' ];
- /* 'Gdk',
- 'Gtk',
- 'GLib',
- 'Gio',
- 'GObject',
- 'GIRepository',
- 'Gst',
- 'Pango']
-*/
-var cls_list = [];
+
+var ns_list = JSDOC.Introspect.namespaces();
+if (typeof(Seed.argv[3]) == 'string') {
+ console.log(Seed.argv.length);
+ ns_list = Seed.argv[3].split(',');
+}
+
+ns_list = ns_list .sort();
+var cls_list = [];
var cls_template = new JSDOC.Template(__script_path__ + '/docs/class.html');
-var cls_ix_template = new JSDOC.Template(__script_path__ + '/docs/class_ix.tmpl');
+var cls_ix_template = new JSDOC.Template(__script_path__ + '/docs/class_ix.html');
var reference_template = new JSDOC.Template(__script_path__ + '/docs/references.html');
-
-Roo.each(ns_list, function(ns_name) {
- var core;
- //if (ns_name == 'Epiphany') {
- // return;
- //}
- if (ns_name == 'GnomeGamesSupport') { // on gnome dev cd stuff.
- return;
- }
-
- //try {
- core = imports.gi[ns_name];
- //} catch (e) {
- // Seed.print("SKIP (no import): "+ ns_name + ": " + e);
-
- // return;
- //}
- Seed.print("START:" + ns_name);
- // ones that cause problems.
-
-
-
- // Namespace file..
+
+ns_list.map(function(ns_name)
+{
+ var core = imports.gi[ns_name];
+
+ console.log("START:" + ns_name);
+
var ns = Introspect.ns(ns_name);
+ ns['left_bar'] = cls_ix_template.process(ns);
- Gio.simple_write(outputdir + '/'+ ns_name + '.shtml', cls_template.process(ns));
+ Gio.simple_write(outputdir + '/'+ ns_name + '.html', cls_template.process(ns));
+
cls_list.push({
alias : ns_name
});
@@ -70,67 +61,66 @@ Roo.each(ns_list, function(ns_name) {
// left bar index of elements in namespace...
Gio.simple_write(outputdir + '/_ix_'+ ns_name + '.shtml', cls_ix_template.process(ns));
- // index...
-
-
- Roo.each(ns.objects, function(n) {
-
-
- Gio.simple_write(outputdir + '/'+ ns_name + '.' + n + '.shtml',
- cls_template.process( Introspect.factory('Class', ns_name, n)));
-
- Seed.print(ns_name + '.' +n);
- });
- Roo.each(ns.interfaces, function(n) {
-
-
- Gio.simple_write(outputdir + '/'+ ns_name + '.' + n + '.shtml',
- cls_template.process( Introspect.factory('Interface', ns_name, n)));
-
- Seed.print(ns_name + '.' +n);
- });
- Roo.each(ns.structs, function(n) {
-
-
- Gio.simple_write(outputdir + '/'+ ns_name + '.' + n + '.shtml',
- cls_template.process( Introspect.factory('Struct', ns_name, n)));
-
-
- Seed.print(ns_name + '.' +n);
- });
- Roo.each(ns.unions, function(n) {
-
-
- Gio.simple_write(outputdir + '/'+ ns_name + '.' + n + '.shtml',
- cls_template.process( Introspect.factory('Union', ns_name, n)));
-
-
- Seed.print(ns_name + '.' +n);
- });
-
- Roo.each(ns.enums, function(n) {
-
-
- Gio.simple_write(outputdir + '/'+ ns_name + '.' + n + '.shtml',
- cls_template.process( Introspect.factory('Enum', ns_name, n)));
-
-
- Seed.print(ns_name + '.' +n);
- });
+ var actions = {
+ 'objects' : 'Class',
+ 'interfaces' : 'Interface',
+ 'structs' : 'Struct',
+ 'unions' : 'Union',
+ 'enums' : 'Enum'
+
+ };
+ for (var i in actions) {
+ ns.objects.map( function(n) {
+ Gio.simple_write(outputdir + '/'+ ns_name + '.' + n + '.html',
+ cls_template.process(
+ Object.extend(
+ Introspect.factory(actions[i], ns_name, n),
+ { 'left_bar' :ns['left_bar'] }
+ )
+ )
+ )
+
+ console.log(ns_name + '.' +n);
+ });
+ }
-})
+
+});
+
+var refs = '';
+var html_file_path = '';
+var html = ''
+
for (var i in Introspect.references) {
+ html_file_path = File.join(outputdir, i + '.html');
+
+ if (i == 'undefined') {
+ console.log("Undefined name space - ignored");
+ continue;
+ }
+ if (!File.isFile(html_file_path)) {
+ console.log("No HTML file " + html_file_path + " to insert references into - ignored");
+ continue;
+ }
- console.log("REFERENCE: " + i + ' : ' + Introspect.references[i].length);
- Gio.simple_write(outputdir + '/references.'+ i + '.html',
- reference_template.process( Introspect.references[i] ));
-
+ refs = reference_template.process(Introspect.references[i]);
+
+ // HTML to put refs into
+ html = File.read(html_file_path);
+
+ // do the replacement
+ html = html.replace(/\<!--references--\>/, refs);
+
+ // write back to file
+ Gio.simple_write(html_file_path, html);
+
}
-var ix_template = new JSDOC.Template(__script_path__ + '/docs/index.tmpl');
-Gio.simple_write(outputdir + '/index.shtml', ix_template.process(ns_list));
+var ix_template = new JSDOC.Template(__script_path__ + '/docs/index.html');
+Gio.simple_write(outputdir + '/index.html', ix_template.process(ns_list));
+File.silentRecursiveCopy(__script_path__ + '/docs/resources/', outputdir);
diff --git a/xnew.js b/xnew.js
index ec3e7ef..1d87d33 100644
--- a/xnew.js
+++ b/xnew.js
@@ -118,10 +118,11 @@ var xnew = {
continue;
}
var v = fn.replace(/.js$/, '');
+ imports[path + '/' + fn];
var assign = imports[path + '/' + fn][v];
//console.log('loaded : ' + path + '/'+v);
if (!obj[v]) {
- Seed.print("using file as object for " + path + ':' +v);
+ Seed.print("using file as object for " + path + ':' + typeof(assign) + ':' + v);
}
obj[v] = obj[v] || assign;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]