SRC_DIR = src
BUILD_DIR = build
-DOCS_DIR = docs
-DIST_DIR = dist
+PREFIX = .
+DOCS_DIR = ${PREFIX}/docs
+TEST_DIR = ${PREFIX}/test
+DIST_DIR = ${PREFIX}/dist
MODULES = jquery event fx ajax
JQ = ${DIST_DIR}/jquery.js
JQ_PACK = ${DIST_DIR}/jquery.pack.js
all: jquery lite pack docs
+ @@echo "jQuery build complete."
${DIST_DIR}:
- mkdir -p ${DIST_DIR}
+ @@mkdir -p ${DIST_DIR}
jquery: ${DIST_DIR} ${JQ}
${JQ}:
- @@echo "Building" ${JQ};
+ @@echo "Building" ${JQ}
@@for f in ${MODULES}; do \
- echo "Adding module:" $$f;\
+ echo " - Adding module:" $$f;\
cat ${SRC_DIR}/$$f/$$f.js >> ${JQ};\
done
- @@echo ${JQ} "built.";
+ @@echo ${JQ} "built."
+ @@echo
lite: ${JQ_LITE}
-${JQ_LITE}: ${JQ}
- @@echo "Building" ${JQ_LITE};
- java -jar ${BUILD_DIR}/js.jar ${BUILD_DIR}/lite.js ${JQ} ${JQ_LITE}
- @@echo ${JQ_LITE} "built.";
+${JQ_LITE}: jquery
+ @@echo "Building" ${JQ_LITE}
+ @@echo " - Removing ScriptDoc from" ${JQ}
+ @@java -jar ${BUILD_DIR}/js.jar ${BUILD_DIR}/lite.js ${JQ} ${JQ_LITE}
+ @@echo ${JQ_LITE} "built."
+ @@echo
pack: ${JQ_PACK}
-${JQ_PACK}: ${JQ}
- @@echo "Building" ${JQ_PACK};
- java -jar ${BUILD_DIR}/js.jar ${BUILD_DIR}/build.js ${JQ} ${JQ_PACK}
- @@echo ${JQ_PACK} "built.";
+${JQ_PACK}: jquery
+ @@echo "Building" ${JQ_PACK}
+ @@echo " - Compressing using Packer"
+ @@java -jar ${BUILD_DIR}/js.jar ${BUILD_DIR}/build.js ${JQ} ${JQ_PACK}
+ @@echo ${JQ_PACK} "built."
+ @@echo
-test:
+test: ${JQ}
docs: ${JQ}
- @@echo "Building Documentation";
- java -jar ${BUILD_DIR}/js.jar ${BUILD_DIR}/docs.js ${JQ} ${DOCS_DIR}
- @@echo "Documentation built.";
+ @@echo "Building Documentation"
+
+ @@echo " - Making Documentation Directory:" ${DOCS_DIR}
+ @@mkdir -p ${DOCS_DIR}
+ @@mkdir -p ${DOCS_DIR}/data
+
+ @@echo " - Copying over script files."
+ @@cp -R ${BUILD_DIR}/docs/js ${DOCS_DIR}/js
+
+ @@echo " - Copying over style files."
+ @@cp -R ${BUILD_DIR}/docs/style ${DOCS_DIR}/style
+
+ @@echo " - Extracting ScriptDoc from" ${JQ}
+ @@java -jar ${BUILD_DIR}/js.jar ${BUILD_DIR}/docs.js ${JQ} ${DOCS_DIR}
+
+ @@echo "Documentation built."
+ @@echo
clean:
- rm -rf ${DIST_DIR}
- rm -f ${DOCS_DIR}/index.xml
- rm -f ${DOCS_DIR}/data/*
+ @@rm -rf ${DIST_DIR}
+ @@rm -rf ${DOCS_DIR}
+++ /dev/null
-load("build/js/ParseMaster.js", "build/js/pack.js", "build/js/writeFile.js");
-
-var out = readFile( arguments[0] );
-
-writeFile( arguments[1], pack( out, 62, true, false ) );
--- /dev/null
+load("build/js/ParseMaster.js", "build/js/pack.js", "build/js/writeFile.js");
+
+var out = readFile( arguments[0] );
+
+writeFile( arguments[1], pack( out, 62, true, false ) );
+++ /dev/null
-load("build/js/json.js", "build/js/xml.js", "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(arguments[0]);
-
-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(/>/g, ">")
- .replace(/\n/g, "<br/>")
- /*.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(/>/g, ">");
- //.replace(/\n\n/g, "<br/><br/>")
- //.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( arguments[1] + "/data/jquery-docs-json.js", json );
-writeFile( arguments[1] + "/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( arguments[1] + "/data/jquery-docs-xml.xml",
- "<?xml version='1.0' encoding='ISO-8859-1'?>\n" + xml );
-
-writeFile( arguments[1] + "/index.xml",
- "<?xml version='1.0' encoding='ISO-8859-1'?>\n" +
- "<?xml-stylesheet type='text/xsl' href='style/docs.xsl'?>\n" + xml
-);
--- /dev/null
+load("build/js/json.js", "build/js/xml.js", "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(arguments[0]);
+
+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(/>/g, ">")
+ .replace(/\n/g, "<br/>")
+ /*.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(/>/g, ">");
+ //.replace(/\n\n/g, "<br/><br/>")
+ //.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( arguments[1] + "/data/jquery-docs-json.js", json );
+writeFile( arguments[1] + "/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( arguments[1] + "/data/jquery-docs-xml.xml",
+ "<?xml version='1.0' encoding='ISO-8859-1'?>\n" + xml );
+
+writeFile( arguments[1] + "/index.xml",
+ "<?xml version='1.0' encoding='ISO-8859-1'?>\n" +
+ "<?xml-stylesheet type='text/xsl' href='style/docs.xsl'?>\n" + xml
+);
<head>
<title>jQuery Docs - API</title>
<link rel="stylesheet" href="style/style.css"/>
- <script src="../jquery-svn.js"></script>
+ <script src="../dist/jquery-svn.js"></script>
<script src="js/tooltip.js"></script>
<script src="js/pager.js"></script>
- <script src="js/doc2.js"></script>
+ <script src="js/doc.js"></script>
</head>
<body>
<h1>jQuery Docs - API</h1>
--- /dev/null
+load("build/js/writeFile.js");
+
+var blockMatch = /\s*\/\*\*\s*((.|\n)*?)\n*\*\/\s*/g;
+var f = readFile(arguments[0]).replace( blockMatch, "" );
+
+writeFile( arguments[1], f );