From: John Resig Date: Sun, 13 Aug 2006 15:15:15 +0000 (+0000) Subject: Moved some more of the build files around. X-Git-Url: http://git.asbjorn.it/?a=commitdiff_plain;ds=sidebyside;h=7d4bf9725472b7684533a35e5fbd143c28a5758c;p=jquery.git Moved some more of the build files around. --- diff --git a/build/docs.js b/build/docs.js new file mode 100644 index 0000000..4ed6cc7 --- /dev/null +++ b/build/docs.js @@ -0,0 +1,98 @@ +load("build/js/json.js"); +load("build/js/xml.js"); +load("build/js/writeFile.js"); + +var types = { + jQuery: "A jQuery object.", + Object: "A simple Javascript object. For example, it could be a String or a Number.", + String: "A string of characters.", + Number: "A numeric valid.", + Element: "The Javascript object representation of a DOM Element.", + Hash: "A Javascript object that contains key/value pairs in the form of properties and values.", + "Array<Element>": "An Array of DOM Elements.", + "Array<String>": "An Array of strings.", + Function: "A reference to a Javascript function." +}; + +var f = readFile("../jquery-svn.js"); + +var c = [], bm, m; +var blockMatch = /\/\*\*\s*((.|\n)*?)\s*\*\//g; +var paramMatch = /\@(\S+) *((.|\n)*?)(?=\n\@|!!!)/m; + +while ( bm = blockMatch.exec(f) ) { + block = bm[1].replace(/^\s*\* ?/mg,"") + "!!!"; + var ret = { params: [], examples: [] }; + + while ( m = paramMatch.exec( block ) ) { + block = block.replace( paramMatch, "" ); + + var n = m[1]; + var v = m[2] + .replace(/\s*$/g,"") + .replace(/^\s*/g,"") + .replace(/&/g, "&") + .replace(//g, ">") + .replace(/\n/g, "
") + /*.replace(/(\s\s+)/g, function(a){ + var ret = ""; + for ( var i = 0; i < a.length; i++ ) + ret += " "; + return ret; + })*/ || 1; + + if ( n == 'param' || n == 'any' ) { + var args = v.split(/\s+/); + v = args.slice( 2, args.length ); + v = { type: args[0], name: args[1], desc: v.join(' ') }; + if ( n == 'any' ) v.any = 1; + n = "params"; + } else if ( n == 'example' ) { + v = { code: v }; + n = "examples"; + } + + if ( n == 'desc' || n == 'before' || n == 'after' || n == 'result' ) { + ret.examples[ ret.examples.length - 1 ][ n ] = v; + } else { + if ( ret[ n ] ) { + if ( ret[ n ].constructor == Array ) { + ret[ n ].push( v ); + } else { + ret[ n ] = [ ret[ n ], v ]; + } + } else { + ret[ n ] = v; + } + } + } + + ret.desc = block.replace(/\s*!!!$/,"") + .replace(//g, ">"); + //.replace(/\n\n/g, "

") + //.replace(/\n/g, " "); + + var m = /^((.|\n)*?(\.|$))/.exec( ret.desc ); + if ( m ) ret['short'] = m[1]; + + if ( ret.name ) c.push( ret ); +} + +var json = Object.toJSON( c ); + +writeFile( "data/jquery-docs-json.js", json ); +writeFile( "data/jquery-docs-jsonp.js", "docsLoaded(" + json + ")" ); + +Object.toXML.force = { desc: 1, code: 1, before: 1, result: 1 }; + +var xml = Object.toXML( { method: c }, "docs" ); + +writeFile( "data/jquery-docs-xml.xml", + "\n" + xml ); + +writeFile( "index.xml", + "\n" + + "\n" + xml +); diff --git a/build/js/json.js b/build/js/json.js new file mode 100644 index 0000000..d59ca0c --- /dev/null +++ b/build/js/json.js @@ -0,0 +1,117 @@ +/* + json.js + 2006-04-28 + + This file adds these methods to JavaScript: + + object.toJSONString() + + This method produces a JSON text from an object. The + object must not contain any cyclical references. + + array.toJSONString() + + This method produces a JSON text from an array. The + array must not contain any cyclical references. + + string.parseJSON() + + This method parses a JSON text to produce an object or + array. It will return false if there is an error. +*/ +(function () { + var m = { + '\b': '\\b', + '\t': '\\t', + '\n': '\\n', + '\f': '\\f', + '\r': '\\r', + '"' : '\\"', + '\\': '\\\\' + }, + s = { + array: function (x) { + var a = ['['], b, f, i, l = x.length, v; + for (i = 0; i < l; i += 1) { + v = x[i]; + f = s[typeof v]; + if (f) { + v = f(v); + if (typeof v == 'string') { + if (b) { + a[a.length] = ','; + } + a[a.length] = v; + b = true; + } + } + } + a[a.length] = ']'; + return a.join(''); + }, + 'boolean': function (x) { + return String(x); + }, + 'null': function (x) { + return "null"; + }, + number: function (x) { + return isFinite(x) ? String(x) : 'null'; + }, + object: function (x) { + if (x) { + if (x instanceof Array) { + return s.array(x); + } + var a = ['{'], b, f, i, v; + for (i in x) { + v = x[i]; + f = s[typeof v]; + if (f) { + v = f(v); + if (typeof v == 'string') { + if (b) { + a[a.length] = ','; + } + a.push(s.string(i), ':', v); + b = true; + } + } + } + a[a.length] = '}'; + return a.join(''); + } + return 'null'; + }, + string: function (x) { + if (/["\\\x00-\x1f]/.test(x)) { + x = x.replace(/([\x00-\x1f\\"])/g, function(a, b) { + var c = m[b]; + if (c) { + return c; + } + c = b.charCodeAt(); + return '\\u00' + + Math.floor(c / 16).toString(16) + + (c % 16).toString(16); + }); + } + return '"' + x + '"'; + } + }; + + Object.toJSON = function(obj) { + return s.object(obj); + }; +})(); + +String.prototype.parseJSON = function () { + try { + return !(/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test( + this.replace(/"(\\.|[^"\\])*"/g, ''))) && + eval('(' + this + ')'); + } catch (e) { + return false; + } +}; + diff --git a/build/js/xml.js b/build/js/xml.js new file mode 100644 index 0000000..cc94eb7 --- /dev/null +++ b/build/js/xml.js @@ -0,0 +1,27 @@ +Object.toXML = function( obj, tag ) { + if ( obj.constructor == Array ) { + var ret = ""; + for ( var i = 0; i < obj.length; i++ ) + ret += Object.toXML( obj[i], tag ); + return ret; + } else if ( obj.constructor == Object ) { + var tag = tag || "tmp"; + var p = "", child = ""; + + for ( var i in obj ) + if ( obj[i].constructor == Array || /\n" + child + "\n" : "/>\n" ); + } else if ( obj.constructor == String ) { + //obj = obj.replace(/</g,"<").replace(/>/g,">"); + //return "<" + tag + ">"; + return "<" + tag + ">" + obj + "\n"; + } + + return ""; +}; + +Object.toXML.force = {}; diff --git a/docs/build/js.jar b/docs/build/js.jar deleted file mode 100644 index 194e592..0000000 Binary files a/docs/build/js.jar and /dev/null differ