From c5a7c04b771db13c244e14fb60225ea20e5eed40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?agentzh=20=28=E7=AB=A0=E4=BA=A6=E6=98=A5=29?= Date: Mon, 25 Jan 2010 03:05:37 +0800 Subject: [PATCH] checked in mising files in the blog demo. --- .gitignore | 62 ++ clients/js/JSON.js | 103 ++++ clients/js/md5.js | 256 ++++++++ demo/Blog/css/blog.css | 82 +++ demo/Blog/css/styles.css | 49 ++ demo/Blog/css/themes/common/base-weblog.css | 492 +++++++++++++++ demo/Blog/css/themes/common/print.css | 205 +++++++ demo/Blog/css/themes/common/print.css.1 | 205 +++++++ demo/Blog/css/themes/common/tipjar.css | 152 +++++ .../Blog/css/themes/lilia/theme-bluecrush.css | 563 ++++++++++++++++++ .../lilia/theme-bluecrush/banner-bg.gif | Bin 0 -> 504 bytes .../theme-bluecrush/colitem-header-bg.gif | Bin 0 -> 16596 bytes .../lilia/theme-bluecrush/column-left-bg.gif | Bin 0 -> 1346 bytes .../lilia/theme-bluecrush/container-bg.gif | Bin 0 -> 227 bytes .../themes/lilia/theme-bluecrush/li-bg.gif | Bin 0 -> 79 bytes .../lilia/theme-bluecrush/thumbnailed-bg.gif | Bin 0 -> 283 bytes demo/Blog/image/loading.gif | Bin 0 -> 1459 bytes demo/Blog/image/me.jpg | Bin 0 -> 2955 bytes demo/Blog/js/thirdparty/jquery.js | 31 + demo/Blog/template/banner.tt | 17 + demo/Blog/template/elem/archive-list.tt | 27 + demo/Blog/template/elem/archive-nav.tt | 16 + demo/Blog/template/elem/calendar.tt | 71 +++ demo/Blog/template/elem/comments.tt | 29 + demo/Blog/template/elem/nav.tt | 24 + demo/Blog/template/elem/pager.tt | 51 ++ demo/Blog/template/elem/post-list.tt | 5 + demo/Blog/template/elem/post-page.tt | 55 ++ demo/Blog/template/elem/post.tt | 32 + demo/Blog/template/elem/recent-comments.tt | 30 + demo/Blog/template/elem/recent-posts.tt | 28 + demo/Blog/template/footer.tt | 11 + demo/Blog/template/header.tt | 36 ++ demo/Blog/template/index.tt | 41 ++ demo/Blog/template/sidebar.tt | 98 +++ 35 files changed, 2771 insertions(+) create mode 100644 .gitignore create mode 100644 clients/js/JSON.js create mode 100644 clients/js/md5.js create mode 100644 demo/Blog/css/blog.css create mode 100644 demo/Blog/css/styles.css create mode 100644 demo/Blog/css/themes/common/base-weblog.css create mode 100644 demo/Blog/css/themes/common/print.css create mode 100644 demo/Blog/css/themes/common/print.css.1 create mode 100644 demo/Blog/css/themes/common/tipjar.css create mode 100644 demo/Blog/css/themes/lilia/theme-bluecrush.css create mode 100644 demo/Blog/css/themes/lilia/theme-bluecrush/banner-bg.gif create mode 100644 demo/Blog/css/themes/lilia/theme-bluecrush/colitem-header-bg.gif create mode 100644 demo/Blog/css/themes/lilia/theme-bluecrush/column-left-bg.gif create mode 100644 demo/Blog/css/themes/lilia/theme-bluecrush/container-bg.gif create mode 100644 demo/Blog/css/themes/lilia/theme-bluecrush/li-bg.gif create mode 100644 demo/Blog/css/themes/lilia/theme-bluecrush/thumbnailed-bg.gif create mode 100644 demo/Blog/image/loading.gif create mode 100644 demo/Blog/image/me.jpg create mode 100644 demo/Blog/js/thirdparty/jquery.js create mode 100644 demo/Blog/template/banner.tt create mode 100644 demo/Blog/template/elem/archive-list.tt create mode 100644 demo/Blog/template/elem/archive-nav.tt create mode 100644 demo/Blog/template/elem/calendar.tt create mode 100644 demo/Blog/template/elem/comments.tt create mode 100644 demo/Blog/template/elem/nav.tt create mode 100644 demo/Blog/template/elem/pager.tt create mode 100644 demo/Blog/template/elem/post-list.tt create mode 100644 demo/Blog/template/elem/post-page.tt create mode 100644 demo/Blog/template/elem/post.tt create mode 100644 demo/Blog/template/elem/recent-comments.tt create mode 100644 demo/Blog/template/elem/recent-posts.tt create mode 100644 demo/Blog/template/footer.tt create mode 100644 demo/Blog/template/header.tt create mode 100644 demo/Blog/template/index.tt create mode 100644 demo/Blog/template/sidebar.tt diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f19c56a --- /dev/null +++ b/.gitignore @@ -0,0 +1,62 @@ +.rsync +bin/openresty.fcgi +demo/Admin/.rsync +*~ +*.json +*.o +*.hi +haskell/bin/openhesty +haskell/openhesty.txt +!*.t.json +cover_db +Makefile +bin/test-account.sh +blib +haskell/big.sql +demo/Springbot/staff/update.sh +demo/*/out +demo/Blog2/js +demo/Blog2/template +demo/Springbot/staff/import +demo/*/script/import-localhost +*.old +*.swp +bin/.openresty.shell.hist +demo/Springbot/staff/staff.* +pm_to_blib +demo/Springbot/staff/staff.html +demo/Blog2/script/init.pl +share/openresty_revision +etc/site_openresty.conf +share/font +haskell/bin/restyscript +t/*.dat +*.tar.gz +demo/Blog2/script/upload +demo/Blog/script/upload +demo/Springbot/staff/*.sql +demo/Click4honor/JSON.js +demo/Click4honor/jquery.js +demo/Click4honor/openresty.js +demo/RestyCheck/JSON.js +demo/RestyCheck/jquery.js +demo/RestyCheck/openresty.js +demo/RestyCheck/upload +demo/*/script/upload +metamodel +demo/Onccf/pack_out +log.txt +TODO1 +demo/Onccf/out1 +demo/Onccf/out2 +demo/Onccf/out3 +demo/Onccf/out4 +demo/Onccf/out5 +demo/Onccf/out6 +demo/Onccf/out7 +demo/Onccf/out8 +diff.txt +etc/compiled.actions +etc/taobao_vip.conf +lib/OpenResty/Handler/YLogin.pm + diff --git a/clients/js/JSON.js b/clients/js/JSON.js new file mode 100644 index 0000000..04e94fe --- /dev/null +++ b/clients/js/JSON.js @@ -0,0 +1,103 @@ +var JSON = (function () { + var m = { + '\b': '\\b', + '\t': '\\t', + '\n': '\\n', + '\f': '\\f', + '\r': '\\r', + '"' : '\\"', + '\\': '\\\\' + }, + s = { + 'boolean': function (x) { + return String(x); + }, + number: function (x) { + return isFinite(x) ? String(x) : '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: function (x) { + if (x) { + var a = [], b, f, i, l, v; + if (x instanceof Array) { + a[0] = '['; + l = x.length; + 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] = ']'; + } else if (x instanceof Object) { + a[0] = '{'; + 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] = '}'; + } else { + return; + } + return a.join(''); + } + return 'null'; + } + }; + return { + copyright: '(c)2005 JSON.org', + license: 'http://www.crockford.com/JSON/license.html', + stringify: function (v) { + var f = s[typeof v]; + if (f) { + v = f(v); + if (typeof v == 'string') { + return v; + } + } + return null; + }, + parse: function (text) { + try { + return !(/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test( + text.replace(/"(\\.|[^"\\])*"/g, ''))) && + eval('(' + text + ')'); + } catch (e) { + return false; + } + } + }; +}()); + diff --git a/clients/js/md5.js b/clients/js/md5.js new file mode 100644 index 0000000..36fc1c2 --- /dev/null +++ b/clients/js/md5.js @@ -0,0 +1,256 @@ +/* + * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message + * Digest Algorithm, as defined in RFC 1321. + * Version 2.1 Copyright (C) Paul Johnston 1999 - 2002. + * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet + * Distributed under the BSD License + * See http://pajhome.org.uk/crypt/md5 for more info. + */ + +/* + * Configurable variables. You may need to tweak these to be compatible with + * the server-side, but the defaults work in most cases. + */ +var hexcase = 0; /* hex output format. 0 - lowercase; 1 - uppercase */ +var b64pad = ""; /* base-64 pad character. "=" for strict RFC compliance */ +var chrsz = 8; /* bits per input character. 8 - ASCII; 16 - Unicode */ + +/* + * These are the functions you'll usually want to call + * They take string arguments and return either hex or base-64 encoded strings + */ +function hex_md5(s){ return binl2hex(core_md5(str2binl(s), s.length * chrsz));} +function b64_md5(s){ return binl2b64(core_md5(str2binl(s), s.length * chrsz));} +function str_md5(s){ return binl2str(core_md5(str2binl(s), s.length * chrsz));} +function hex_hmac_md5(key, data) { return binl2hex(core_hmac_md5(key, data)); } +function b64_hmac_md5(key, data) { return binl2b64(core_hmac_md5(key, data)); } +function str_hmac_md5(key, data) { return binl2str(core_hmac_md5(key, data)); } + +/* + * Perform a simple self-test to see if the VM is working + */ +function md5_vm_test() +{ + return hex_md5("abc") == "900150983cd24fb0d6963f7d28e17f72"; +} + +/* + * Calculate the MD5 of an array of little-endian words, and a bit length + */ +function core_md5(x, len) +{ + /* append padding */ + x[len >> 5] |= 0x80 << ((len) % 32); + x[(((len + 64) >>> 9) << 4) + 14] = len; + + var a = 1732584193; + var b = -271733879; + var c = -1732584194; + var d = 271733878; + + for(var i = 0; i < x.length; i += 16) + { + var olda = a; + var oldb = b; + var oldc = c; + var oldd = d; + + a = md5_ff(a, b, c, d, x[i+ 0], 7 , -680876936); + d = md5_ff(d, a, b, c, x[i+ 1], 12, -389564586); + c = md5_ff(c, d, a, b, x[i+ 2], 17, 606105819); + b = md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330); + a = md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897); + d = md5_ff(d, a, b, c, x[i+ 5], 12, 1200080426); + c = md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341); + b = md5_ff(b, c, d, a, x[i+ 7], 22, -45705983); + a = md5_ff(a, b, c, d, x[i+ 8], 7 , 1770035416); + d = md5_ff(d, a, b, c, x[i+ 9], 12, -1958414417); + c = md5_ff(c, d, a, b, x[i+10], 17, -42063); + b = md5_ff(b, c, d, a, x[i+11], 22, -1990404162); + a = md5_ff(a, b, c, d, x[i+12], 7 , 1804603682); + d = md5_ff(d, a, b, c, x[i+13], 12, -40341101); + c = md5_ff(c, d, a, b, x[i+14], 17, -1502002290); + b = md5_ff(b, c, d, a, x[i+15], 22, 1236535329); + + a = md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510); + d = md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632); + c = md5_gg(c, d, a, b, x[i+11], 14, 643717713); + b = md5_gg(b, c, d, a, x[i+ 0], 20, -373897302); + a = md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691); + d = md5_gg(d, a, b, c, x[i+10], 9 , 38016083); + c = md5_gg(c, d, a, b, x[i+15], 14, -660478335); + b = md5_gg(b, c, d, a, x[i+ 4], 20, -405537848); + a = md5_gg(a, b, c, d, x[i+ 9], 5 , 568446438); + d = md5_gg(d, a, b, c, x[i+14], 9 , -1019803690); + c = md5_gg(c, d, a, b, x[i+ 3], 14, -187363961); + b = md5_gg(b, c, d, a, x[i+ 8], 20, 1163531501); + a = md5_gg(a, b, c, d, x[i+13], 5 , -1444681467); + d = md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784); + c = md5_gg(c, d, a, b, x[i+ 7], 14, 1735328473); + b = md5_gg(b, c, d, a, x[i+12], 20, -1926607734); + + a = md5_hh(a, b, c, d, x[i+ 5], 4 , -378558); + d = md5_hh(d, a, b, c, x[i+ 8], 11, -2022574463); + c = md5_hh(c, d, a, b, x[i+11], 16, 1839030562); + b = md5_hh(b, c, d, a, x[i+14], 23, -35309556); + a = md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060); + d = md5_hh(d, a, b, c, x[i+ 4], 11, 1272893353); + c = md5_hh(c, d, a, b, x[i+ 7], 16, -155497632); + b = md5_hh(b, c, d, a, x[i+10], 23, -1094730640); + a = md5_hh(a, b, c, d, x[i+13], 4 , 681279174); + d = md5_hh(d, a, b, c, x[i+ 0], 11, -358537222); + c = md5_hh(c, d, a, b, x[i+ 3], 16, -722521979); + b = md5_hh(b, c, d, a, x[i+ 6], 23, 76029189); + a = md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487); + d = md5_hh(d, a, b, c, x[i+12], 11, -421815835); + c = md5_hh(c, d, a, b, x[i+15], 16, 530742520); + b = md5_hh(b, c, d, a, x[i+ 2], 23, -995338651); + + a = md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844); + d = md5_ii(d, a, b, c, x[i+ 7], 10, 1126891415); + c = md5_ii(c, d, a, b, x[i+14], 15, -1416354905); + b = md5_ii(b, c, d, a, x[i+ 5], 21, -57434055); + a = md5_ii(a, b, c, d, x[i+12], 6 , 1700485571); + d = md5_ii(d, a, b, c, x[i+ 3], 10, -1894986606); + c = md5_ii(c, d, a, b, x[i+10], 15, -1051523); + b = md5_ii(b, c, d, a, x[i+ 1], 21, -2054922799); + a = md5_ii(a, b, c, d, x[i+ 8], 6 , 1873313359); + d = md5_ii(d, a, b, c, x[i+15], 10, -30611744); + c = md5_ii(c, d, a, b, x[i+ 6], 15, -1560198380); + b = md5_ii(b, c, d, a, x[i+13], 21, 1309151649); + a = md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070); + d = md5_ii(d, a, b, c, x[i+11], 10, -1120210379); + c = md5_ii(c, d, a, b, x[i+ 2], 15, 718787259); + b = md5_ii(b, c, d, a, x[i+ 9], 21, -343485551); + + a = safe_add(a, olda); + b = safe_add(b, oldb); + c = safe_add(c, oldc); + d = safe_add(d, oldd); + } + return Array(a, b, c, d); + +} + +/* + * These functions implement the four basic operations the algorithm uses. + */ +function md5_cmn(q, a, b, x, s, t) +{ + return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s),b); +} +function md5_ff(a, b, c, d, x, s, t) +{ + return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t); +} +function md5_gg(a, b, c, d, x, s, t) +{ + return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t); +} +function md5_hh(a, b, c, d, x, s, t) +{ + return md5_cmn(b ^ c ^ d, a, b, x, s, t); +} +function md5_ii(a, b, c, d, x, s, t) +{ + return md5_cmn(c ^ (b | (~d)), a, b, x, s, t); +} + +/* + * Calculate the HMAC-MD5, of a key and some data + */ +function core_hmac_md5(key, data) +{ + var bkey = str2binl(key); + if(bkey.length > 16) bkey = core_md5(bkey, key.length * chrsz); + + var ipad = Array(16), opad = Array(16); + for(var i = 0; i < 16; i++) + { + ipad[i] = bkey[i] ^ 0x36363636; + opad[i] = bkey[i] ^ 0x5C5C5C5C; + } + + var hash = core_md5(ipad.concat(str2binl(data)), 512 + data.length * chrsz); + return core_md5(opad.concat(hash), 512 + 128); +} + +/* + * Add integers, wrapping at 2^32. This uses 16-bit operations internally + * to work around bugs in some JS interpreters. + */ +function safe_add(x, y) +{ + var lsw = (x & 0xFFFF) + (y & 0xFFFF); + var msw = (x >> 16) + (y >> 16) + (lsw >> 16); + return (msw << 16) | (lsw & 0xFFFF); +} + +/* + * Bitwise rotate a 32-bit number to the left. + */ +function bit_rol(num, cnt) +{ + return (num << cnt) | (num >>> (32 - cnt)); +} + +/* + * Convert a string to an array of little-endian words + * If chrsz is ASCII, characters >255 have their hi-byte silently ignored. + */ +function str2binl(str) +{ + var bin = Array(); + var mask = (1 << chrsz) - 1; + for(var i = 0; i < str.length * chrsz; i += chrsz) + bin[i>>5] |= (str.charCodeAt(i / chrsz) & mask) << (i%32); + return bin; +} + +/* + * Convert an array of little-endian words to a string + */ +function binl2str(bin) +{ + var str = ""; + var mask = (1 << chrsz) - 1; + for(var i = 0; i < bin.length * 32; i += chrsz) + str += String.fromCharCode((bin[i>>5] >>> (i % 32)) & mask); + return str; +} + +/* + * Convert an array of little-endian words to a hex string. + */ +function binl2hex(binarray) +{ + var hex_tab = hexcase ? "0123456789ABCDEF" : "0123456789abcdef"; + var str = ""; + for(var i = 0; i < binarray.length * 4; i++) + { + str += hex_tab.charAt((binarray[i>>2] >> ((i%4)*8+4)) & 0xF) + + hex_tab.charAt((binarray[i>>2] >> ((i%4)*8 )) & 0xF); + } + return str; +} + +/* + * Convert an array of little-endian words to a base-64 string + */ +function binl2b64(binarray) +{ + var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + var str = ""; + for(var i = 0; i < binarray.length * 4; i += 3) + { + var triplet = (((binarray[i >> 2] >> 8 * ( i %4)) & 0xFF) << 16) + | (((binarray[i+1 >> 2] >> 8 * ((i+1)%4)) & 0xFF) << 8 ) + | ((binarray[i+2 >> 2] >> 8 * ((i+2)%4)) & 0xFF); + for(var j = 0; j < 4; j++) + { + if(i * 8 + j * 6 > binarray.length * 32) str += b64pad; + else str += tab.charAt((triplet >> 6*(3-j)) & 0x3F); + } + } + return str; +} diff --git a/demo/Blog/css/blog.css b/demo/Blog/css/blog.css new file mode 100644 index 0000000..34b3fdc --- /dev/null +++ b/demo/Blog/css/blog.css @@ -0,0 +1,82 @@ +.entry-header b { + color: #cc0022; +} + +#beta-inner.pkg b { + color: #cc0022; + font-weight: normal; +} + +input#searchbox { + margin-top: 5px; + margin-bottom: 5px; + color:#369; + background:#fff; + width: 180px; +} + +div#wait-message { + color: red !important; + background: white !important; + font-size: 18px !important; + float: right; + position: fixed; + top: 2px; + right: 30px; + padding: 4px; + border-width: 2px; + border-style: outset; + border-color: white; + display: block; +} + +td.today-cell { + background: #fff; +} + +td.highlight { + font-weight: bold; + color:#A90A08; +} + +input.required { + background: #ffa; +} + +ins.item-body { + text-decoration: none; +} + +a.nav-arrow { + font-size: 10pt; + font-weight: bold; +} + +ins { + font-style: normal; +} + +table.paging { + border: 0; + width: 1%; +} + +table.paging td { + font-size: 90%; + white-space: nowrap; +} + +.prev-page { + text-align: right; + font-size: 12pt; + color: #00c; + font-weight: bold; +} + +.next-page { + text-align: left; + font-size: 12pt; + color: #00c; + font-weight: bold; +} + diff --git a/demo/Blog/css/styles.css b/demo/Blog/css/styles.css new file mode 100644 index 0000000..0552001 --- /dev/null +++ b/demo/Blog/css/styles.css @@ -0,0 +1,49 @@ +/* Base */ +@import url(themes/common/base-weblog.css); + +/* Tip Jar */ +@import url(themes/common/tipjar.css); + +/* Portal */ + + +/* Theme */ +@import url(themes/lilia/theme-bluecrush.css); + +/* Custom */ +body +{ + font-family: 'Corbel', 'Cambria', 'trebuchet ms', helvetica, arial, sans-serif; + font-size: 15px; + color: black; +} + +tt +{ + font-family: 'Consolas', 'Courier New', 'FreeMono', monospace; +} + +h1, h2, h3, h4, h5, h6 +{ + font-family: 'Cambria', 'Corbel', 'Candara', 'trebuchet ms', helvetica, arial, sans-serif; + font-weight: bold; +} + +a { color: #009; text-decoration: underline; } +a:visited { color: #306 } + +.entry h2 { + color: #930; + font-size: 18px; + border-bottom: 1px dotted #930; + margin-bottom: 15px; + font-weight: bold; + } + +h3 { + color: #000; + font-size: 15px; + margin-bottom: 10px; + } + + diff --git a/demo/Blog/css/themes/common/base-weblog.css b/demo/Blog/css/themes/common/base-weblog.css new file mode 100644 index 0000000..da8cf13 --- /dev/null +++ b/demo/Blog/css/themes/common/base-weblog.css @@ -0,0 +1,492 @@ +/* $Id: base-weblog.css 66356 2007-11-02 17:15:45Z kgoess $ */ + +/* basic elements */ + +html +{ + margin: 0; + /* setting border: 0 hoses ie6 win window inner well border */ + padding: 0; +} + +body +{ + margin: 0; + /* setting border: 0 hoses ie5 win window inner well border */ + padding: 0; + font-family: verdana, 'trebuchet ms', sans-serif; + font-size: 12px; +} + +form { margin: 0; padding: 0; } +a { text-decoration: underline; } +a img { border: 0; } + +h1, h2, h3, h4, h5, h6 { font-weight: normal; } +h1, h2, h3, h4, h5, h6, p, ol, ul, pre, blockquote +{ + margin-top: 10px; + margin-bottom: 10px; +} + + +/* standard helper classes */ + +.clr +{ + clear: both; + overflow: hidden; + width: 1px; + height: 1px; + margin: 0 -1px -1px 0; + border: 0; + padding: 0; + font-size: 0; + line-height: 0; +} + +/* .pkg class wraps enclosing block element around inner floated elements */ +.pkg:after +{ + content: " "; + display: block; + visibility: hidden; + clear: both; + height: 0.1px; + font-size: 0.1em; + line-height: 0; +} +.pkg { display: inline-block; } +/* no ie mac \*/ +* html .pkg { height: 1%; } +.pkg { display: block; } +/* */ + + +/* page layout */ + +body { text-align: center; } /* center on ie */ + +#container +{ + position: relative; + margin: 0 auto; /* center on everything else */ + width: 720px; + text-align: left; +} +#container-inner { position: static; width: auto; } + +#banner { position: relative; } +#banner-inner { position: static; } + +#pagebody { position: relative; width: 100%; } +#pagebody-inner { position: static; width: 100%; } + +#alpha, #beta, #gamma, #delta +{ + display: inline; /* ie win bugfix */ + position: relative; + float: left; + min-height: 1px; +} + +#delta { float: right; } + +#alpha-inner, #beta-inner, #gamma-inner, #delta-inner +{ + position: static; +} + + +/* banner user/photo */ + +.banner-user +{ + float: left; + overflow: hidden; + width: 64px; + margin: 0 15px 0 0; + border: 0; + padding: 0; + text-align: center; +} + +.banner-user-photo +{ + display: block; + margin: 0 0 2px; + border: 0; + padding: 0; + background-position: center center; + background-repeat: no-repeat; + text-decoration: none !important; +} + +.banner-user-photo img +{ + width: 64px; + height: auto; + margin: 0; + border: 0; + padding: 0; +} + + +/* content */ + +.content-nav +{ + margin: 10px; + text-align: center; +} + +.date-header, +.entry-content +{ + position: static; + clear: both; +} + +.entry, +.trackbacks, +.comments, +.archive +{ + position: static; + overflow: hidden; + clear: both; + width: 100%; + margin-bottom: 20px; +} + +.entry-content, +.trackbacks-info, +.trackback-content, +.comments-info, +.comment-content, +.comments-open-content, +.comments-closed +{ + clear: both; + margin: 5px 10px; +} + +.trackbacks-info p, +.comments-info p +{ + margin-top: 5px; +} + +.trackbacks-link +{ + font-size: 0.8em; +} + +.entry-excerpt, +.entry-body, +.entry-more-link, +.entry-more +{ + clear: both; +} + +.entry-footer, +.trackback-footer, +.comment-footer, +.comments-open-footer, +.archive-content +{ + clear: both; + margin: 5px 10px 20px; +} + +.entry-footer p +{ + margin-top: 0; + margin-bottom: 2px; +} + +.comments-open label { display: block; } + +#comment-author, #comment-email, #comment-url, #comment-text +{ + width: 240px; +} + +#comment-bake-cookie +{ + margin-left: 0; + vertical-align: middle; +} + +#comment-post +{ + font-weight: bold; +} + +img.image-full { width: 100%; } + +.image-thumbnail +{ + float: left; + width: 115px; + margin: 0 10px 10px 0; +} + +.image-thumbnail img +{ + width: 115px; + height: 115px; + margin: 0 0 2px; +} + + +/* modules */ + +.module +{ + position: relative; + overflow: hidden; + width: 100%; +} + +.module-content +{ + position: relative; + margin: 5px 10px 20px; +} + +.module-list, +.archive-list +{ + margin: 0; + padding: 0; + list-style: none; +} + +.module-list-item, +.archive-list-item +{ + margin-top: 5px; + margin-bottom: 5px; +} + +.module-more +{ + text-align: right; +} + +.module-elsewhere .module-list img, +.archive-elsewhere .archive-list img, +.module-presence img +{ + vertical-align: middle; +} + +.module-powered .module-content { margin-bottom: 10px; } +.module-photo .module-content { text-align: center; } +.module-wishlist .module-content { text-align: center; } + +.module-calendar .module-content table +{ + border-collapse: collapse; + width: 100%; +} + +.module-calendar .module-content th, +.module-calendar .module-content td +{ + width: 14%; + text-align: center; +} + +.module-category-cloud .module-list +{ + margin-right: 0; + margin-left: 0; +} + +.module-category-cloud .module-list-item +{ + display: inline; + margin: 0 5px 0 0; + padding: 0; + line-height: 1.2em; + background: none; +} + +.module-category-cloud .cloud-weight-1 { font-size: 0.9em; } +.module-category-cloud .cloud-weight-2 { font-size: 0.95em; } +.module-category-cloud .cloud-weight-3 { font-size: 1em; } +.module-category-cloud .cloud-weight-4 { font-size: 1.125em; } +.module-category-cloud .cloud-weight-5 { font-size: 1.25em; } +.module-category-cloud .cloud-weight-6 { font-size: 1.375em; } +.module-category-cloud .cloud-weight-7 { font-size: 1.5em; } +.module-category-cloud .cloud-weight-8 { font-size: 1.625em; } +.module-category-cloud .cloud-weight-9 { font-size: 1.75em; } +.module-category-cloud .cloud-weight-10 { font-size: 1.75em; } + +.typelist-plain .module-list, +.typelist-plain .archive-list +{ + list-style: none; +} + +.typelist-plain .module-list-item, +.typelist-plain .archive-list-item +{ + padding: 0; + background: none; +} + +.typelist-thumbnailed { margin: 0 0 20px; } + +.typelist-thumbnailed .module-list-item +{ + display: block; + clear: both; + margin: 0; +} + +/* positioniseverything.net/easyclearing.html */ +.typelist-thumbnailed .module-list-item:after +{ + content: " "; + display: block; + visibility: hidden; + clear: both; + height: 0.1px; + font-size: 0.1em; + line-height: 0; +} +.typelist-thumbnailed .module-list-item { display: inline-block; } +/* no ie mac \*/ +* html .typelist-thumbnailed .module-list-item { height: 1%; } +.typelist-thumbnailed .module-list-item { display: block; } +/* */ + +.typelist-thumbnail +{ + float: left; + min-width: 60px; + width: 60px; + /* no ie mac \*/width: auto;/* */ + margin: 0 5px 0 0; + text-align: center; + vertical-align: middle; +} + +.typelist-thumbnail img { margin: 5px; } + +.module-galleries .typelist-thumbnail img { width: 50px; } + +.typelist-description +{ + margin: 0; + padding: 5px; +} + +.typelist-no-description +{ + text-align: center; + margin: 10px 0; +} + +.module-featured-photo .module-content, +.module-photo .module-content +{ + margin: 0; +} + +.module-featured-photo img { width: 100%; } + +.module-recent-photos { margin: 0 0 15px; } +.module-recent-photos .module-content { margin: 0; } +.module-recent-photos .module-list +{ + display: block; + height: 1%; + margin: 0; + border: 0; + padding: 0; + list-style: none; +} + +/* positioniseverything.net/easyclearing.html */ +.module-recent-photos .module-list:after +{ + content: " "; + display: block; + visibility: hidden; + clear: both; + height: 0.1px; + font-size: 0.1em; + line-height: 0; +} +.module-recent-photos .module-list { display: inline-block; } +/* no ie mac \*/ +* html .module-recent-photos .module-list { height: 1%; } +.module-recent-photos .module-list { display: block; } +/* */ + +.module-recent-photos .module-list-item +{ + display: block; + float: left; + /* ie win fix \*/ height: 1%; /**/ + margin: 0; + border: 0; + padding: 0; +} + +.module-recent-photos .module-list-item a +{ + display: block; + margin: 0; + border: 0; + padding: 0; +} + +.module-recent-photos .module-list-item img +{ + width: 60px; + height: 60px; + margin: 0; + padding: 0; +} + + +/* mmt calendar */ + +.module-mmt-calendar { margin-bottom: 15px; } +.module-mmt-calendar .module-content { margin: 0; } +.module-mmt-calendar .module-header { margin: 0; } +.module-mmt-calendar .module-header a { text-decoration: none; } +.module-mmt-calendar table { width: 100%; } + +.module-mmt-calendar th { text-align: left; } + +.module-mmt-calendar td +{ + width: 14%; + height: 75px; + text-align: left; + vertical-align: top; +} + +.day-photo +{ + width: 54px; + height: 54px; +} + +.day-photo a +{ + display: block; +} + +.day-photo a img +{ + width: 50px; + height: 50px; +} diff --git a/demo/Blog/css/themes/common/print.css b/demo/Blog/css/themes/common/print.css new file mode 100644 index 0000000..dbf5422 --- /dev/null +++ b/demo/Blog/css/themes/common/print.css @@ -0,0 +1,205 @@ +/* Reset (Eric Meyer, http://meyerweb.com/) */ + +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, font, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td { + margin: 0; + padding: 0; + border: 0; + outline: 0; + font-weight: inherit; + font-style: inherit; + font-size: 100%; + font-family: inherit; + vertical-align: baseline; +} +/* remember to define focus styles! */ +:focus { + outline: 0; +} +body { + line-height: 1; + color: black; + background: white; +} +ol, ul { + list-style: none; +} +/* tables still need 'cellspacing="0"' in the markup */ +table { + border-collapse: separate; + border-spacing: 0; +} +caption, th, td { + text-align: left; + font-weight: normal; +} +blockquote:before, blockquote:after, +q:before, q:after { + content: ""; +} +blockquote, q { + quotes: "" ""; +} + + +/* Base Weblog Print Styles (Six Apart, Ltd., http://sixapart.com/) */ + +body +{ + color: #000; + font-size: 10pt; + line-height: 1.5; + font-family: Georgia, serif; +} + +a +{ + color: #000; + text-decoration: underline; +} + +#banner, +.entry, +.trackbacks, +.trackbacks-info, +.comments, +.comments-info, +.archive +{ + margin-bottom: 1.5em; +} + +#banner-header +{ + font-size: 15pt; + font-weight: bold; +} + +#banner-description { font-size: 12pt; } + +#banner-header a, +.entry-header a +{ + text-decoration: none; +} + +.entry-header, +.trackbacks-header, +.comments-header, +.archive-header, +.content-header +{ + margin-bottom: 0.5em; + font-weight: bold; +} + +.entry-header, .archive-header, .content-header { font-size: 12pt; } + +.trackbacks-header, .comments-header { font-size: 10pt; } + +.trackbacks, .comments { font-size: 9pt; } + +.entry-content p, +.entry-content blockquote, +.entry-content pre, +.entry-content dl, +.entry-content ol, +.entry-content ul, +.trackback-content p, +.comment-content p, +.comment-content blockquote, +.comment-content pre, +.comment-content dl, +.comment-content ol, +.comment-content ul, +.archive-content ul +{ + margin-bottom: 0.5em; +} + +.entry-content blockquote, +.comment-content blockquote +{ + margin-left: 1em; + border-left: 1pt solid #000; + padding-left: 1em; +} + +.entry-content pre, +.comment-content pre +{ + margin-left: 1em; + border-left: 1pt solid #000; + padding-left: 1em; + font-family: Monaco, monospace; +} + +.entry-content code, +.comment-content code +{ + font-family: Monaco, monospace; +} + +.entry-content ol, +.entry-content ul, +.comment-content ol, +.comment-content ul, +.archive-content ul +{ + padding-left: 2em; +} + +.entry-content ol, +.comment-content ol +{ + list-style-type: decimal; +} + +.entry-content ul, +.comment-content ul, +.archive-content ul +{ + list-style-type: disc; +} + +.entry-content table td, +.comment-content table td +{ + padding: 0 1em 0.5em 0; +} + +.layout-two-column-left #alpha, +.layout-two-column-right #beta, +.layout-three-column #alpha, +.layout-three-column #gamma, +.layout-three-column-right #beta, +.layout-three-column-right #gamma, +.layout-artistic #beta, +.layout-calendar #beta, +.layout-moblog1 #alpha, +.layout-moblog1 #gamma, +.layout-moblog2 #alpha, +.layout-moblog2 #gamma, +.layout-moblog2 #delta, +.layout-timeline #beta, +.content-nav, +#comment-form +{ + display: none; +} + +.entry, .entry-content, .entry-footer, .entry-excerpt, +.entry-body, .entry-more-link, .entry-more, +.trackbacks, .trackbacks-info, .trackback-content, .trackback-footer, +.comments, .comments-info, .comment-content, .comment-footer, +.comments-open-content, .comments-open-footer, .comments-closed, +.archive, .archive-content, .date-header +{ + clear: both; +} diff --git a/demo/Blog/css/themes/common/print.css.1 b/demo/Blog/css/themes/common/print.css.1 new file mode 100644 index 0000000..dbf5422 --- /dev/null +++ b/demo/Blog/css/themes/common/print.css.1 @@ -0,0 +1,205 @@ +/* Reset (Eric Meyer, http://meyerweb.com/) */ + +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, font, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td { + margin: 0; + padding: 0; + border: 0; + outline: 0; + font-weight: inherit; + font-style: inherit; + font-size: 100%; + font-family: inherit; + vertical-align: baseline; +} +/* remember to define focus styles! */ +:focus { + outline: 0; +} +body { + line-height: 1; + color: black; + background: white; +} +ol, ul { + list-style: none; +} +/* tables still need 'cellspacing="0"' in the markup */ +table { + border-collapse: separate; + border-spacing: 0; +} +caption, th, td { + text-align: left; + font-weight: normal; +} +blockquote:before, blockquote:after, +q:before, q:after { + content: ""; +} +blockquote, q { + quotes: "" ""; +} + + +/* Base Weblog Print Styles (Six Apart, Ltd., http://sixapart.com/) */ + +body +{ + color: #000; + font-size: 10pt; + line-height: 1.5; + font-family: Georgia, serif; +} + +a +{ + color: #000; + text-decoration: underline; +} + +#banner, +.entry, +.trackbacks, +.trackbacks-info, +.comments, +.comments-info, +.archive +{ + margin-bottom: 1.5em; +} + +#banner-header +{ + font-size: 15pt; + font-weight: bold; +} + +#banner-description { font-size: 12pt; } + +#banner-header a, +.entry-header a +{ + text-decoration: none; +} + +.entry-header, +.trackbacks-header, +.comments-header, +.archive-header, +.content-header +{ + margin-bottom: 0.5em; + font-weight: bold; +} + +.entry-header, .archive-header, .content-header { font-size: 12pt; } + +.trackbacks-header, .comments-header { font-size: 10pt; } + +.trackbacks, .comments { font-size: 9pt; } + +.entry-content p, +.entry-content blockquote, +.entry-content pre, +.entry-content dl, +.entry-content ol, +.entry-content ul, +.trackback-content p, +.comment-content p, +.comment-content blockquote, +.comment-content pre, +.comment-content dl, +.comment-content ol, +.comment-content ul, +.archive-content ul +{ + margin-bottom: 0.5em; +} + +.entry-content blockquote, +.comment-content blockquote +{ + margin-left: 1em; + border-left: 1pt solid #000; + padding-left: 1em; +} + +.entry-content pre, +.comment-content pre +{ + margin-left: 1em; + border-left: 1pt solid #000; + padding-left: 1em; + font-family: Monaco, monospace; +} + +.entry-content code, +.comment-content code +{ + font-family: Monaco, monospace; +} + +.entry-content ol, +.entry-content ul, +.comment-content ol, +.comment-content ul, +.archive-content ul +{ + padding-left: 2em; +} + +.entry-content ol, +.comment-content ol +{ + list-style-type: decimal; +} + +.entry-content ul, +.comment-content ul, +.archive-content ul +{ + list-style-type: disc; +} + +.entry-content table td, +.comment-content table td +{ + padding: 0 1em 0.5em 0; +} + +.layout-two-column-left #alpha, +.layout-two-column-right #beta, +.layout-three-column #alpha, +.layout-three-column #gamma, +.layout-three-column-right #beta, +.layout-three-column-right #gamma, +.layout-artistic #beta, +.layout-calendar #beta, +.layout-moblog1 #alpha, +.layout-moblog1 #gamma, +.layout-moblog2 #alpha, +.layout-moblog2 #gamma, +.layout-moblog2 #delta, +.layout-timeline #beta, +.content-nav, +#comment-form +{ + display: none; +} + +.entry, .entry-content, .entry-footer, .entry-excerpt, +.entry-body, .entry-more-link, .entry-more, +.trackbacks, .trackbacks-info, .trackback-content, .trackback-footer, +.comments, .comments-info, .comment-content, .comment-footer, +.comments-open-content, .comments-open-footer, .comments-closed, +.archive, .archive-content, .date-header +{ + clear: both; +} diff --git a/demo/Blog/css/themes/common/tipjar.css b/demo/Blog/css/themes/common/tipjar.css new file mode 100644 index 0000000..2677ab1 --- /dev/null +++ b/demo/Blog/css/themes/common/tipjar.css @@ -0,0 +1,152 @@ +.module-tipjar, +.module-tipjar-r2 { + font-family: 'trebuchet ms', sans-serif; +} + +.module-tipjar .button { + margin: 0; +} + +.module-tipjar-r2 .tipjar-button-wrapper { + position: relative; +} + +.module-tipjar-r2 .tipjar-button { + position: relative; + float: left; + text-align: left; +} + +.module-tipjar .button h3, +.module-tipjar .button p, +.module-tipjar-r2 .tipjar-button h3, +.module-tipjar-r2 .tipjar-button p { + margin: 0; + padding: 0; + color: #000; + line-height: 1.2em; +} + +.module-tipjar .button img, +.module-tipjar-r2 .tipjar-button img { + position: absolute; + top: 0; + left: 0; + border: 0; +} + +.module-tipjar .module-content { + position: relative; + margin: 10px; + padding: 0; +} + +.module-tipjar p { + margin-left: 10px; +} + +.module-tipjar-r2 p { + margin: 2px 0 0 0; +} + +.module-tipjar #button-1, .module-tipjar-r2 #button-1 { background: url(/.shared/images/tipjar-buttons/tipjar-green-large.gif) left top no-repeat; } +.module-tipjar #button-2, .module-tipjar-r2 #button-2 { background: url(/.shared/images/tipjar-buttons/tipjar-pink-large.gif) left top no-repeat; } +.module-tipjar #button-3, .module-tipjar-r2 #button-3 { background: url(/.shared/images/tipjar-buttons/tipjar-green-medium.gif) left top no-repeat; } +.module-tipjar #button-4, .module-tipjar-r2 #button-4 { background: url(/.shared/images/tipjar-buttons/tipjar-pink-medium.gif) left top no-repeat; } +.module-tipjar #button-5, .module-tipjar-r2 #button-5 { background: url(/.shared/images/tipjar-buttons/tipjar-green-small.gif) left top no-repeat; } +.module-tipjar #button-6, .module-tipjar-r2 #button-6 { background: url(/.shared/images/tipjar-buttons/tipjar-pink-small.gif) left top no-repeat; } + +.module-tipjar .empty-1, +.module-tipjar .empty-2, +.module-tipjar-r2 #button-1, +.module-tipjar-r2 #button-2, +.module-tipjar-r2 .empty-1, +.module-tipjar-r2 .empty-2 { + width: 120px; + height: 52px; +} + +.module-tipjar #button-1 h3, +.module-tipjar #button-2 h3, +.module-tipjar-r2 #button-1 h3, +.module-tipjar-r2 #button-2 h3 { + font-size: 15px; + font-weight: bold; + padding: 4px 0 0 28px; +} + +.module-tipjar #button-1 p, +.module-tipjar #button-2 p, +.module-tipjar-r2 #button-1 p, +.module-tipjar-r2 #button-2 p { + font-size: 11px; +} + +.module-tipjar #button-1 p, +.module-tipjar #button-2 p { + padding: 0 0 24px 28px; +} + +.module-tipjar-r2 #button-1 p, +.module-tipjar-r2 #button-2 p { + padding: 0 0 0 28px; +} + +.module-tipjar .empty-3, +.module-tipjar .empty-4, +.module-tipjar-r2 #button-3, +.module-tipjar-r2 #button-4, +.module-tipjar-r2 .empty-3, +.module-tipjar-r2 .empty-4 { + width: 88px; + height: 31px; +} + +.module-tipjar #button-3 h3, +.module-tipjar #button-4 h3, +.module-tipjar-r2 #button-3 h3, +.module-tipjar-r2 #button-4 h3 { + font-size: 13px; + font-weight: bold; + padding: 0 0 0 5px; +} + +.module-tipjar #button-3 p, +.module-tipjar #button-4 p, +.module-tipjar-r2 #button-3 p, +.module-tipjar-r2 #button-4 p { + font-size: 11px; +} + +.module-tipjar #button-3 p, +.module-tipjar #button-4 p { + padding: 0 0 4px 5px; +} + +.module-tipjar-r2 #button-3 p, +.module-tipjar-r2 #button-4 p { + padding: 0 0 0 5px; +} + +.module-tipjar #button-5, +.module-tipjar #button-6, +.module-tipjar .empty-5, +.module-tipjar .empty-6, +.module-tipjar-r2 #button-5, +.module-tipjar-r2 #button-6, +.module-tipjar-r2 .empty-5, +.module-tipjar-r2 .empty-6 { + width: 94px; + height: 15px; +} + +.module-tipjar #button-5 h3, +.module-tipjar #button-6 h3, +.module-tipjar #button-5 p, +.module-tipjar #button-6 p, +.module-tipjar-r2 #button-5 h3, +.module-tipjar-r2 #button-6 h3, +.module-tipjar-r2 #button-5 p, +.module-tipjar-r2 #button-6 p { + display: none; +} diff --git a/demo/Blog/css/themes/lilia/theme-bluecrush.css b/demo/Blog/css/themes/lilia/theme-bluecrush.css new file mode 100644 index 0000000..90cfbfe --- /dev/null +++ b/demo/Blog/css/themes/lilia/theme-bluecrush.css @@ -0,0 +1,563 @@ +/* $Id: theme-bluecrush.css 64929 2007-10-15 20:22:20Z kgoess $ */ + +/* basic page elements */ + +body +{ + font-family: 'trebuchet ms', helvetica, arial, sans-serif; + font-size: 12px; +} + +a { color: #393; text-decoration: underline; } +a:visited { color: #666; } +a:hover { color: #f93; } + +#banner a { color: #fff; font-weight: bold; text-decoration: none; } +#banner a:visited { color: #fff; } +#banner a:hover { color: #f93; } + +.module-content a { color: #39c; font-weight: bold;} +.module-content a:visited { color: #369; } +.module-content a:hover { color: #f93; } + +.entry-header a { color: #f93; text-decoration: none; } +.entry-header a:visited { color: #f93; } +.entry-header a:hover { color: #f93; } + +h1, h2, h3, h4, h5, h6 +{ + font-family: 'trebuchet ms', helvetica, arial, sans-serif; +} + +.module-header, +.trackbacks-header, +.comments-header, +.comments-open-header, +.archive-header +{ + /* ie win (5, 5.5, 6) bugfix */ + p\osition: relative; + width: 100%; + w\idth: auto; + + margin: 1px 0; + padding: 5px 5px 5px 25px; + color: #fff; + background: #79B5E7 url(theme-bluecrush/colitem-header-bg.gif) 0 50% repeat; + font-size: 14px; + font-weight: bold; + line-height: 1; +} + +.module-header a, +.module-header a:visited, +.trackbacks-header a, +.trackbacks-header a:visited, +.comments-header a, +.comments-header a:visited, +.comments-open-header a, +.comments-open-header a:visited +.archive-header a, +.archive-header a:visited +{ + color: #fff; +} + +.module-header a:hover, +.trackbacks-header a:hover, +.comments-header a:hover, +.comments-open-header a:hover +.archive-header a:hover +{ + color: #f93; +} + +.entry-more-link, +.entry-footer, +.comment-footer, +.trackback-footer, +.typelist-thumbnailed +{ + font-size: 11px; +} + +.trackbacks-info, +.comments-info +{ + margin-bottom: 20px; +} + + +/* page layout */ + +body +{ + min-width: 780px; + color: #666; + background: #94C4EC; +} + +#container +{ + width: 780px; + background: transparent url(theme-bluecrush/container-bg.gif) repeat-y; +} + +#container-inner +{ + margin: 0 10px 0 10px; + border-bottom: 1px solid #369; + background: transparent url(theme-bluecrush/column-right-bg.gif) -500px 0 repeat-y; +} + +#banner +{ + width: 760px; /* necessary for ie win */ + border-bottom: 1px solid #369; + background: #335099 url(theme-bluecrush/banner-bg.gif) repeat-x; +} + +#banner-inner { padding: 20px; } + +.banner-user +{ + width: 70px; + margin-top: 4px; + font-size: 10px; +} + +.banner-user-photo { border: 3px solid #fff; } + +#banner-header +{ + margin: 0; + color: #fff; + font-size: 30px; + font-weight: bold; + line-height: 1; +} + +#banner-description +{ + margin: 1px 0; + color: #fff; + background: none; + font-size: 12px; + line-height: 1.125; +} + +#alpha { margin: 20px 0 20px 20px; width: 260px; } +#beta { margin: 20px 0 0 40px; width: 420px;} +#gamma, #delta { width: 202px; } + +.date-header +{ + margin: 0; + color: #335099; + font-size: 14px; + text-transform: uppercase; +} + +.entry-header +{ + margin: 10px 0; + border-left: 4px solid #f93; + padding: 0 0 0 5px; + color: #f93; + font-size: 18px; + font-weight: bold; +} + +.entry-content { margin: 0; } +.entry-footer +{ + margin: 0 0 20px 0; + border-top: 1px solid #d7d7d7; + padding-top: 2px; + color: #393; + font-weight: normal; +} + +.content-nav { margin-top: 0; } + +.content-header +{ + margin: 0 0 30px; + color: #f93; + font-size: 24px; + font-weight: bold; +} + + +/* modules */ + +.module-calendar .module-content { margin: 5px 0 15px 0; } + +.module-mmt-calendar .module-content table, +.module-calendar .module-content table { font-size: 11px; } + +.module-mmt-calendar .module-header a { color: #f93; } +.module-mmt-calendar .module-header a:visited { color: #f93; } +.module-mmt-calendar .module-header a:hover { color: #069; } + + +.module-powered { margin: 20px 0; } +.module-powered .module-content +{ + margin: 0; + padding: 10px; + border: 1px dashed #39c; + color: #039; + background: #b8d4ec url(theme-bluecrush/powered-bg.gif) repeat-x; +} + +.module-powered a { color: #06c; } +.module-powered a:visited { color: #06c; } +.module-powered a:hover { color: #f93; } + +.module-photo { background: none; } +.module-photo img { border: solid 1px #dce1e4; } + +.module-list-item +{ + padding-left: 12px; + background: url(theme-bluecrush/li-bg.gif) 0 0.5em no-repeat; + line-height: 150%; +} + +.typelist-thumbnailed .module-list +{ + margin: 0; +} + +.typelist-thumbnailed .module-list-item +{ + margin: 0 0 1px 0; + padding: 0; + border: 1px solid #d9dee1; + background: #d2dfe9 url(theme-bluecrush/thumbnailed-bg.gif) repeat-x; +} + +.typelist-thumbnail { background: #baccdb url(theme-bluecrush/typelist-thumbnail-bg.gif) repeat-x; } + +.module-featured-photo img +{ + width: 414px; +} + + +/* recent photos */ + +.module-recent-photos .module-content { margin: 6px 0 0 0; } + +.module-recent-photos .module-list { margin: 0; } + +.module-recent-photos .module-list-item +{ + width: 64px; /* mac ie fix */ + margin: 0 6px 6px 0; + padding: 0; + background: none; +} + +.module-recent-photos .module-list-item a +{ + border: 1px solid #39c; + padding: 1px; + background: #fff; +} + +.module-recent-photos .module-list-item a:hover +{ + border-color: #f93; +} + + +/* artistic tweaks */ + + +/* calendar tweaks */ + + .layout-calendar #beta { overflow: visible; } + + .module-mmt-calendar { width: 420px; } + + .module-mmt-calendar .module-header + { + margin: 0 0 5px 0; + border: 0; + padding: 0; + color: #369; + background: none; + font-size: 14px; + font-weight: normal; + text-align: right; + } + + .module-mmt-calendar table + { + color: #fff; + background: #bcc5cc; + } + + .module-mmt-calendar th, + .module-mmt-calendar td + { + border-right: 1px solid #d0d0d0; + padding: 2px; + text-align: right; + font-weight: normal; + } + + .module-mmt-calendar .weekday-7, td.day-7, td.day-14, td.day-21, td.day-28, td.day-35, td.day-42 + { + border-right: none; + } + + .day-photo a + { + border: solid 1px #39c; + padding: 1px; + background: #fff; + } + + .day-photo a:hover + { + border-color: #f93; + } + + +/* moblog1 tweaks */ + + .layout-moblog1 #container-inner { background-position: -220px 0; } + .layout-moblog1 #pagebody + { + background: transparent url(theme-bluecrush/column-left-bg.gif) -580px 0 repeat-y; + } + + .layout-moblog1 #alpha { width: 200px; } + + .layout-moblog1 #beta + { + width: 320px; + margin: 20px 0 20px 20px; + } + + .layout-moblog1 #gamma + { + width: 160px; + margin: 20px 0 20px 40px; + } + + .layout-moblog1 .entry { margin-bottom: 40px; } + + .layout-moblog1 .module-recent-photos .module-content { margin: 6px 0 0 12px; } + + .layout-moblog1 .module-powered .module-content + { + margin-right: 20px; + } + + +/* moblog2 tweaks */ + + .layout-moblog2 #container-inner { background-position: -355px 0; } + .layout-moblog2 #pagebody + { + background: transparent url(theme-bluecrush/column-left-bg.gif) -695px 0 repeat-y; + } + .layout-moblog2 #pagebody-inner + { + background: transparent url(theme-bluecrush/column-right-bg.gif) -160px 0 repeat-y; + } + + .layout-moblog2 #alpha { width: 65px; } + .layout-moblog2 #beta { width: 300px; margin: 0 0 0 40px; } + .layout-moblog2 #gamma { width: 175px; margin: 0 0 0 40px; } + + .layout-moblog2 #delta + { + float: left; + width: 100px; + margin: 0 0 0 20px; + } + + .layout-moblog2 .module-header, + .layout-moblog2 .trackbacks-header, + .layout-moblog2 .comments-header, + .layout-moblog2 .comments-open-header + .layout-moblog2 .archive-header + { + margin: 20px 0 1px 0; + } + + .layout-moblog2 .date-header { margin-top: 20px; } + + .layout-moblog2 .content-nav { margin-top: 20px; } + + .layout-moblog2 .module-photo .module-content { margin: 0; } + .layout-moblog2 .module-photo img { width: 80px; height: auto; } + + .layout-moblog2 .module-recent-photos .module-content + { + margin: 0; + padding: 0; + background: none; + } + + .layout-moblog2 .module-recent-photos .module-list { margin: 0; } + .layout-moblog2 .module-recent-photos .module-list-item { margin: 0 0 5px 0; } + + .layout-moblog2 .module-powered .module-content + { + margin-right: 20px; + } + + +/* timeline tweaks */ + + .layout-timeline #container-inner { background-position: -420px 0; } + + .layout-timeline #alpha { width: 340px; } + .layout-timeline #beta { width: 360px; } + + .layout-timeline #gamma, + .layout-timeline #delta + { + width: 170px; + } + + .layout-timeline .module-recent-photos .module-content { padding: 0 0 10px 0; } + .layout-timeline .module-recent-photos .module-list { margin: 7px 7px 0 0; } + + +/* one-column tweaks */ + + .layout-one-column body + { + min-width: 620px; + } + + .layout-one-column #container + { + width: 620px; + background: transparent url(theme-bluecrush/one-column-container-bg.gif) repeat-y; + } + + .layout-one-column #container-inner + { + margin: 0 10px 0 10px; + border-bottom: 1px solid #5b626a; + background: transparent url(theme-bluecrush/column-right-bg.gif) -500px 0 repeat-y; + } + + .layout-one-column #banner + { + width: 600px; /* necessary for ie win */ + } + + .layout-one-column #container-inner { background: none; } + .layout-one-column #alpha { width: 560px; } + + +/* two-column-left tweaks */ + + .layout-two-column-left #container-inner { background: none; } + + .layout-two-column-left #pagebody + { + background: transparent url(theme-bluecrush/column-left-bg.gif) -580px 0 repeat-y; + } + + .layout-two-column-left #alpha { width: 200px; } + .layout-two-column-left #beta + { + width: 500px; + margin: 20px 0 0 20px; + } + + .layout-two-column-left .module-powered .module-content + { + margin-right: 10px; + } + + +/* two-column-right tweaks */ + + .layout-two-column-right #container-inner { background: none; } + + .layout-two-column-right #pagebody + { + background: transparent url(theme-bluecrush/column-right-bg.gif) -260px 0 repeat-y; + } + + .layout-two-column-right #container-inner { background: none; } + .layout-two-column-right #alpha { width: 500px; } + .layout-two-column-right #beta + { + width: 200px; + margin: 20px 0 0 40px; + } + + .layout-two-column-right .module-powered .module-content + { + margin-right: 10px; + } + + +/* three-column tweaks */ + + .layout-three-column #container-inner { background-position: -260px 0; } + + .layout-three-column #pagebody + { + background: transparent url(theme-bluecrush/column-left-bg.gif) -580px 0 repeat-y; + } + + .layout-three-column #alpha { width: 200px; } + + .layout-three-column #beta + { + width: 280px; + margin: 20px 0 20px 20px; + } + + .layout-three-column #gamma + { + width: 200px; + margin: 20px 0 20px 40px; + } + + .layout-three-column .module-powered .module-content + { + margin-right: 20px; + } + + +/* three-column-right tweaks */ + + .layout-three-column-right #container-inner { background-position: -480px 0; } + + .layout-three-column-right #pagebody + { + background: transparent url(theme-bluecrush/column-right-bg.gif) -260px 0 repeat-y; + } + + .layout-three-column-right #alpha { width: 280px; } + + .layout-three-column-right #beta + { + width: 200px; + margin: 20px 0 20px 40px; + } + + .layout-three-column-right #gamma + { + width: 200px; + margin: 20px 0 20px 20px; + } + + .layout-three-column-right .module-powered .module-content + { + margin-right: 20px; + } diff --git a/demo/Blog/css/themes/lilia/theme-bluecrush/banner-bg.gif b/demo/Blog/css/themes/lilia/theme-bluecrush/banner-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..0eb103dfc8ca6860305494cba3565c7e8d540900 GIT binary patch literal 504 zcmZ?wbhEHbWMqh8c*ekB9y}+lZm(I;Z0EQomZ5W#Yj$ThA4sX&k;v)eCgjaTZ*klc;dVe>=s zHaNsAvJRh@*LK(?erbH=4yU*!9?8oCvey3p|39K=b9VDV+sFkmrQ0$Z_9a&BG!B@V z({eDc?NECC-u(8%rh&5<1_#gqIRg|I4D7KDfq`-k{{9O5etsTo(!xUC-T?uOV(hxC z7NR~rPAb}(US8(BdRp%ChJ4nxJc0)Lu9gDgoTfTf91<={vfMI`%+AIlc8X@oo?NOn W_9hxEQtAw9Op-x2jC_3?8LR=lTZ|$A literal 0 HcmV?d00001 diff --git a/demo/Blog/css/themes/lilia/theme-bluecrush/colitem-header-bg.gif b/demo/Blog/css/themes/lilia/theme-bluecrush/colitem-header-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..b3793a6f9e5c05d342e7284474bce15fb992123d GIT binary patch literal 16596 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 EJJ;^R`v3p{ literal 0 HcmV?d00001 diff --git a/demo/Blog/css/themes/lilia/theme-bluecrush/container-bg.gif b/demo/Blog/css/themes/lilia/theme-bluecrush/container-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..7473051c3a601d85bb128b73d6c2f2083b9c6e20 GIT binary patch literal 227 zcmZ?wbhEHbDVg&!R;|l9XS{IV9W-m-Pu_8mK?&RZ|YU=08+(r!`! literal 0 HcmV?d00001 diff --git a/demo/Blog/css/themes/lilia/theme-bluecrush/li-bg.gif b/demo/Blog/css/themes/lilia/theme-bluecrush/li-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..0c651a3124367d030e8e2e7d430471ca9aabf257 GIT binary patch literal 79 zcmZ?wbhEHb3VMibKcZE|iMkBpo6m7$~hS4&vz2)qkNN&Vq|;brDzHmC~iFi8ZZy z$t9QMzWctrTis0k3BJQKz0V8p;IQxQ3|H7b3mFR&D9{K+Xl#_~D8&*D&nW{#)}e9p zRL=ywaac%<3j%Uq5r?@F{hsD#c1|W(mwQElSF@O-hOcEHa%c3StPj zD$#!Dh}PxWD6-nv_oUia>|a^`ssDLfOD;dLhWApRj{MEWW4kx$-ZsyJjc5O4`|f(c jYI~iVv1+|~z0uLoU%hNM*RCeD(}Vlthw$v_g6;kS^~0At literal 0 HcmV?d00001 diff --git a/demo/Blog/image/loading.gif b/demo/Blog/image/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..c82b360a6efb54bd35a214565b2c424646bac07e GIT binary patch literal 1459 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 Ic}~Xv12~IQF8}}l literal 0 HcmV?d00001 diff --git a/demo/Blog/js/thirdparty/jquery.js b/demo/Blog/js/thirdparty/jquery.js new file mode 100644 index 0000000..fbe2312 --- /dev/null +++ b/demo/Blog/js/thirdparty/jquery.js @@ -0,0 +1,31 @@ +/* + * jQuery 1.2.2 - New Wave Javascript + * + * Copyright (c) 2007 John Resig (jquery.com) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * $Date: 2008-01-14 17:56:07 -0500 (Mon, 14 Jan 2008) $ + * $Rev: 4454 $ + */ +(function(){if(window.jQuery)var _jQuery=window.jQuery;var jQuery=window.jQuery=function(selector,context){return new jQuery.prototype.init(selector,context);};if(window.$)var _$=window.$;window.$=jQuery;var quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/;var isSimple=/^.[^:#\[\.]*$/;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;return this;}else if(typeof selector=="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem)if(elem.id!=match[3])return jQuery().find(selector);else{this[0]=elem;this.length=1;return this;}else +selector=[];}}else +return new jQuery(context).find(selector);}else if(jQuery.isFunction(selector))return new jQuery(document)[jQuery.fn.ready?"ready":"load"](selector);return this.setArray(selector.constructor==Array&&selector||(selector.jquery||selector.length&&selector!=window&&!selector.nodeType&&selector[0]!=undefined&&selector[0].nodeType)&&jQuery.makeArray(selector)||[selector]);},jquery:"1.2.2",size:function(){return this.length;},length:0,get:function(num){return num==undefined?jQuery.makeArray(this):this[num];},pushStack:function(elems){var ret=jQuery(elems);ret.prevObject=this;return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){var ret=-1;this.each(function(i){if(this==elem)ret=i;});return ret;},attr:function(name,value,type){var options=name;if(name.constructor==String)if(value==undefined)return this.length&&jQuery[type||"attr"](this[0],name)||undefined;else{options={};options[name]=value;}return this.each(function(i){for(name in options)jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){if((key=='width'||key=='height')&&parseFloat(value)<0)value=undefined;return this.attr(key,value,"curCSS");},text:function(text){if(typeof text!="object"&&text!=null)return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(text));var ret="";jQuery.each(text||this,function(){jQuery.each(this.childNodes,function(){if(this.nodeType!=8)ret+=this.nodeType!=1?this.nodeValue:jQuery.fn.text([this]);});});return ret;},wrapAll:function(html){if(this[0])jQuery(html,this[0].ownerDocument).clone().insertBefore(this[0]).map(function(){var elem=this;while(elem.firstChild)elem=elem.firstChild;return elem;}).append(this);return this;},wrapInner:function(html){return this.each(function(){jQuery(this).contents().wrapAll(html);});},wrap:function(html){return this.each(function(){jQuery(this).wrapAll(html);});},append:function(){return this.domManip(arguments,true,false,function(elem){if(this.nodeType==1)this.appendChild(elem);});},prepend:function(){return this.domManip(arguments,true,true,function(elem){if(this.nodeType==1)this.insertBefore(elem,this.firstChild);});},before:function(){return this.domManip(arguments,false,false,function(elem){this.parentNode.insertBefore(elem,this);});},after:function(){return this.domManip(arguments,false,true,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return this.prevObject||jQuery([]);},find:function(selector){var elems=jQuery.map(this,function(elem){return jQuery.find(selector,elem);});return this.pushStack(/[^+>] [^+>]/.test(selector)||selector.indexOf("..")>-1?jQuery.unique(elems):elems);},clone:function(events){var ret=this.map(function(){if(jQuery.browser.msie&&!jQuery.isXMLDoc(this)){var clone=this.cloneNode(true),container=document.createElement("div"),container2=document.createElement("div");container.appendChild(clone);container2.innerHTML=container.innerHTML;return container2.firstChild;}else +return this.cloneNode(true);});var clone=ret.find("*").andSelf().each(function(){if(this[expando]!=undefined)this[expando]=null;});if(events===true)this.find("*").andSelf().each(function(i){if(this.nodeType==3)return;var events=jQuery.data(this,"events");for(var type in events)for(var handler in events[type])jQuery.event.add(clone[i],type,events[type][handler],events[type][handler].data);});return ret;},filter:function(selector){return this.pushStack(jQuery.isFunction(selector)&&jQuery.grep(this,function(elem,i){return selector.call(elem,i);})||jQuery.multiFilter(selector,this));},not:function(selector){if(selector.constructor==String)if(isSimple.test(selector))return this.pushStack(jQuery.multiFilter(selector,this,true));else +selector=jQuery.multiFilter(selector,this);var isArrayLike=selector.length&&selector[selector.length-1]!==undefined&&!selector.nodeType;return this.filter(function(){return isArrayLike?jQuery.inArray(this,selector)<0:this!=selector;});},add:function(selector){return!selector?this:this.pushStack(jQuery.merge(this.get(),selector.constructor==String?jQuery(selector).get():selector.length!=undefined&&(!selector.nodeName||jQuery.nodeName(selector,"form"))?selector:[selector]));},is:function(selector){return selector?jQuery.multiFilter(selector,this).length>0:false;},hasClass:function(selector){return this.is("."+selector);},val:function(value){if(value==undefined){if(this.length){var elem=this[0];if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)return null;for(var i=one?index:0,max=one?index+1:options.length;i=0||jQuery.inArray(this.name,value)>=0);else if(jQuery.nodeName(this,"select")){var values=value.constructor==Array?value:[value];jQuery("option",this).each(function(){this.selected=(jQuery.inArray(this.value,values)>=0||jQuery.inArray(this.text,values)>=0);});if(!values.length)this.selectedIndex=-1;}else +this.value=value;});},html:function(value){return value==undefined?(this.length?this[0].innerHTML:null):this.empty().append(value);},replaceWith:function(value){return this.after(value).remove();},eq:function(i){return this.slice(i,i+1);},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments));},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem);}));},andSelf:function(){return this.add(this.prevObject);},domManip:function(args,table,reverse,callback){var clone=this.length>1,elems;return this.each(function(){if(!elems){elems=jQuery.clean(args,this.ownerDocument);if(reverse)elems.reverse();}var obj=this;if(table&&jQuery.nodeName(this,"table")&&jQuery.nodeName(elems[0],"tr"))obj=this.getElementsByTagName("tbody")[0]||this.appendChild(this.ownerDocument.createElement("tbody"));var scripts=jQuery([]);jQuery.each(elems,function(){var elem=clone?jQuery(this).clone(true)[0]:this;if(jQuery.nodeName(elem,"script")){scripts=scripts.add(elem);}else{if(elem.nodeType==1)scripts=scripts.add(jQuery("script",elem).remove());callback.call(obj,elem);}});scripts.each(evalScript);});}};jQuery.prototype.init.prototype=jQuery.prototype;function evalScript(i,elem){if(elem.src)jQuery.ajax({url:elem.src,async:false,dataType:"script"});else +jQuery.globalEval(elem.text||elem.textContent||elem.innerHTML||"");if(elem.parentNode)elem.parentNode.removeChild(elem);}jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(target.constructor==Boolean){deep=target;target=arguments[1]||{};i=2;}if(typeof target!="object"&&typeof target!="function")target={};if(length==1){target=this;i=0;}for(;i-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}callback.call(elem);for(var name in options)elem.style[name]=old[name];},css:function(elem,name,force){if(name=="width"||name=="height"){var val,props={position:"absolute",visibility:"hidden",display:"block"},which=name=="width"?["Left","Right"]:["Top","Bottom"];function getWH(){val=name=="width"?elem.offsetWidth:elem.offsetHeight;var padding=0,border=0;jQuery.each(which,function(){padding+=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;border+=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0;});val-=Math.round(padding+border);}if(jQuery(elem).is(":visible"))getWH();else +jQuery.swap(elem,props,getWH);return Math.max(0,val);}return jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var ret;function color(elem){if(!jQuery.browser.safari)return false;var ret=document.defaultView.getComputedStyle(elem,null);return!ret||ret.getPropertyValue("color")=="";}if(name=="opacity"&&jQuery.browser.msie){ret=jQuery.attr(elem.style,"opacity");return ret==""?"1":ret;}if(jQuery.browser.opera&&name=="display"){var save=elem.style.display;elem.style.display="block";elem.style.display=save;}if(name.match(/float/i))name=styleFloat;if(!force&&elem.style&&elem.style[name])ret=elem.style[name];else if(document.defaultView&&document.defaultView.getComputedStyle){if(name.match(/float/i))name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var getComputedStyle=document.defaultView.getComputedStyle(elem,null);if(getComputedStyle&&!color(elem))ret=getComputedStyle.getPropertyValue(name);else{var swap=[],stack=[];for(var a=elem;a&&color(a);a=a.parentNode)stack.unshift(a);for(var i=0;i]*?)\/>/g,function(all,front,tag){return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?all:front+">";});var tags=jQuery.trim(elem).toLowerCase(),div=context.createElement("div");var wrap=!tags.indexOf("",""]||!tags.indexOf("",""]||tags.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"","
"]||!tags.indexOf("",""]||(!tags.indexOf("",""]||!tags.indexOf("",""]||jQuery.browser.msie&&[1,"div
","
"]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)div=div.lastChild;if(jQuery.browser.msie){var tbody=!tags.indexOf(""&&tags.indexOf("=0;--j)if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length)tbody[j].parentNode.removeChild(tbody[j]);if(/^\s/.test(elem))div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);}elem=jQuery.makeArray(div.childNodes);}if(elem.length===0&&(!jQuery.nodeName(elem,"form")&&!jQuery.nodeName(elem,"select")))return;if(elem[0]==undefined||jQuery.nodeName(elem,"form")||elem.options)ret.push(elem);else +ret=jQuery.merge(ret,elem);});return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)return undefined;var fix=jQuery.isXMLDoc(elem)?{}:jQuery.props;if(name=="selected"&&jQuery.browser.safari)elem.parentNode.selectedIndex;if(fix[name]){if(value!=undefined)elem[fix[name]]=value;return elem[fix[name]];}else if(jQuery.browser.msie&&name=="style")return jQuery.attr(elem.style,"cssText",value);else if(value==undefined&&jQuery.browser.msie&&jQuery.nodeName(elem,"form")&&(name=="action"||name=="method"))return elem.getAttributeNode(name).nodeValue;else if(elem.tagName){if(value!=undefined){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)throw"type property can't be changed";elem.setAttribute(name,""+value);}if(jQuery.browser.msie&&/href|src/.test(name)&&!jQuery.isXMLDoc(elem))return elem.getAttribute(name,2);return elem.getAttribute(name);}else{if(name=="opacity"&&jQuery.browser.msie){if(value!=undefined){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+(parseFloat(value).toString()=="NaN"?"":"alpha(opacity="+value*100+")");}return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100).toString():"";}name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(value!=undefined)elem[name]=value;return elem[name];}},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(typeof array!="array")for(var i=0,length=array.length;i*",this).remove();while(this.firstChild)this.removeChild(this.firstChild);}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});jQuery.each(["Height","Width"],function(i,name){var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?jQuery.browser.opera&&document.body["client"+name]||jQuery.browser.safari&&window["inner"+name]||document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(Math.max(document.body["scroll"+name],document.documentElement["scroll"+name]),Math.max(document.body["offset"+name],document.documentElement["offset"+name])):size==undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,size.constructor==String?size:size+"px");};});var chars=jQuery.browser.safari&&parseInt(jQuery.browser.version)<417?"(?:[\\w*_-]|\\\\.)":"(?:[\\w\u0128-\uFFFF*_-]|\\\\.)",quickChild=new RegExp("^>\\s*("+chars+"+)"),quickID=new RegExp("^("+chars+"+)(#)("+chars+"+)"),quickClass=new RegExp("^([#.]?)("+chars+"*)");jQuery.extend({expr:{"":"m[2]=='*'||jQuery.nodeName(a,m[2])","#":"a.getAttribute('id')==m[2]",":":{lt:"im[3]-0",nth:"m[3]-0==i",eq:"m[3]-0==i",first:"i==0",last:"i==r.length-1",even:"i%2==0",odd:"i%2","first-child":"a.parentNode.getElementsByTagName('*')[0]==a","last-child":"jQuery.nth(a.parentNode.lastChild,1,'previousSibling')==a","only-child":"!jQuery.nth(a.parentNode.lastChild,2,'previousSibling')",parent:"a.firstChild",empty:"!a.firstChild",contains:"(a.textContent||a.innerText||jQuery(a).text()||'').indexOf(m[3])>=0",visible:'"hidden"!=a.type&&jQuery.css(a,"display")!="none"&&jQuery.css(a,"visibility")!="hidden"',hidden:'"hidden"==a.type||jQuery.css(a,"display")=="none"||jQuery.css(a,"visibility")=="hidden"',enabled:"!a.disabled",disabled:"a.disabled",checked:"a.checked",selected:"a.selected||jQuery.attr(a,'selected')",text:"'text'==a.type",radio:"'radio'==a.type",checkbox:"'checkbox'==a.type",file:"'file'==a.type",password:"'password'==a.type",submit:"'submit'==a.type",image:"'image'==a.type",reset:"'reset'==a.type",button:'"button"==a.type||jQuery.nodeName(a,"button")',input:"/input|select|textarea|button/i.test(a.nodeName)",has:"jQuery.find(m[3],a).length",header:"/h\\d/i.test(a.nodeName)",animated:"jQuery.grep(jQuery.timers,function(fn){return a==fn.elem;}).length"}},parse:[/^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/,/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,new RegExp("^([:.#]*)("+chars+"+)")],multiFilter:function(expr,elems,not){var old,cur=[];while(expr&&expr!=old){old=expr;var f=jQuery.filter(expr,elems,not);expr=f.t.replace(/^\s*,\s*/,"");cur=not?elems=f.r:jQuery.merge(cur,f.r);}return cur;},find:function(t,context){if(typeof t!="string")return[t];if(context&&context.nodeType!=1&&context.nodeType!=9)return[];context=context||document;var ret=[context],done=[],last,nodeName;while(t&&last!=t){var r=[];last=t;t=jQuery.trim(t);var foundToken=false;var re=quickChild;var m=re.exec(t);if(m){nodeName=m[1].toUpperCase();for(var i=0;ret[i];i++)for(var c=ret[i].firstChild;c;c=c.nextSibling)if(c.nodeType==1&&(nodeName=="*"||c.nodeName.toUpperCase()==nodeName))r.push(c);ret=r;t=t.replace(re,"");if(t.indexOf(" ")==0)continue;foundToken=true;}else{re=/^([>+~])\s*(\w*)/i;if((m=re.exec(t))!=null){r=[];var merge={};nodeName=m[2].toUpperCase();m=m[1];for(var j=0,rl=ret.length;j=0;if(!not&&pass||not&&!pass)tmp.push(r[i]);}return tmp;},filter:function(t,r,not){var last;while(t&&t!=last){last=t;var p=jQuery.parse,m;for(var i=0;p[i];i++){m=p[i].exec(t);if(m){t=t.substring(m[0].length);m[2]=m[2].replace(/\\/g,"");break;}}if(!m)break;if(m[1]==":"&&m[2]=="not")r=isSimple.test(m[3])?jQuery.filter(m[3],r,true).r:jQuery(r).not(m[3]);else if(m[1]==".")r=jQuery.classFilter(r,m[2],not);else if(m[1]=="["){var tmp=[],type=m[3];for(var i=0,rl=r.length;i=0)^not)tmp.push(a);}r=tmp;}else if(m[1]==":"&&m[2]=="nth-child"){var merge={},tmp=[],test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(m[3]=="even"&&"2n"||m[3]=="odd"&&"2n+1"||!/\D/.test(m[3])&&"0n+"+m[3]||m[3]),first=(test[1]+(test[2]||1))-0,last=test[3]-0;for(var i=0,rl=r.length;i=0)add=true;if(add^not)tmp.push(node);}r=tmp;}else{var f=jQuery.expr[m[1]];if(typeof f!="string")f=jQuery.expr[m[1]][m[2]];f=eval("false||function(a,i){return "+f+"}");r=jQuery.grep(r,f,not);}}return{r:r,t:t};},dir:function(elem,dir){var matched=[];var cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1)matched.push(cur);cur=cur[dir];}return matched;},nth:function(cur,result,dir,elem){result=result||1;var num=0;for(;cur;cur=cur[dir])if(cur.nodeType==1&&++num==result)break;return cur;},sibling:function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&(!elem||n!=elem))r.push(n);}return r;}});jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)return;if(jQuery.browser.msie&&elem.setInterval!=undefined)elem=window;if(!handler.guid)handler.guid=this.guid++;if(data!=undefined){var fn=handler;handler=function(){return fn.apply(this,arguments);};handler.data=data;handler.guid=fn.guid;}var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){var val;if(typeof jQuery=="undefined"||jQuery.event.triggered)return val;val=jQuery.event.handle.apply(arguments.callee.elem,arguments);return val;});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];handler.type=parts[1];var handlers=events[type];if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem)===false){if(elem.addEventListener)elem.addEventListener(type,handle,false);else if(elem.attachEvent)elem.attachEvent("on"+type,handle);}}handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types==undefined)for(var type in events)this.remove(elem,type);else{if(types.type){handler=types.handler;types=types.type;}jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];if(events[type]){if(handler)delete events[type][handler.guid];else +for(handler in events[type])if(!parts[1]||events[type][handler].type==parts[1])delete events[type][handler];for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem)===false){if(elem.removeEventListener)elem.removeEventListener(type,jQuery.data(elem,"handle"),false);else if(elem.detachEvent)elem.detachEvent("on"+type,jQuery.data(elem,"handle"));}ret=null;delete events[type];}}});}for(ret in events)break;if(!ret){var handle=jQuery.data(elem,"handle");if(handle)handle.elem=null;jQuery.removeData(elem,"events");jQuery.removeData(elem,"handle");}}},trigger:function(type,data,elem,donative,extra){data=jQuery.makeArray(data||[]);if(!elem){if(this.global[type])jQuery("*").add([window,document]).trigger(type,data);}else{if(elem.nodeType==3||elem.nodeType==8)return undefined;var val,ret,fn=jQuery.isFunction(elem[type]||null),event=!data[0]||!data[0].preventDefault;if(event)data.unshift(this.fix({type:type,target:elem}));data[0].type=type;if(jQuery.isFunction(jQuery.data(elem,"handle")))val=jQuery.data(elem,"handle").apply(elem,data);if(!fn&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)val=false;if(event)data.shift();if(extra&&jQuery.isFunction(extra)){ret=extra.apply(elem,val==null?data:data.concat(val));if(ret!==undefined)val=ret;}if(fn&&donative!==false&&val!==false&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}this.triggered=false;}return val;},handle:function(event){var val;event=jQuery.event.fix(event||window.event||{});var parts=event.type.split(".");event.type=parts[0];var handlers=jQuery.data(this,"events")&&jQuery.data(this,"events")[event.type],args=Array.prototype.slice.call(arguments,1);args.unshift(event);for(var j in handlers){var handler=handlers[j];args[0].handler=handler;args[0].data=handler.data;if(!parts[1]||handler.type==parts[1]){var ret=handler.apply(this,args);if(val!==false)val=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}}if(jQuery.browser.msie)event.target=event.preventDefault=event.stopPropagation=event.handler=event.data=null;return val;},fix:function(event){var originalEvent=event;event=jQuery.extend({},originalEvent);event.preventDefault=function(){if(originalEvent.preventDefault)originalEvent.preventDefault();originalEvent.returnValue=false;};event.stopPropagation=function(){if(originalEvent.stopPropagation)originalEvent.stopPropagation();originalEvent.cancelBubble=true;};if(!event.target)event.target=event.srcElement||document;if(event.target.nodeType==3)event.target=originalEvent.target.parentNode;if(!event.relatedTarget&&event.fromElement)event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;if(event.pageX==null&&event.clientX!=null){var doc=document.documentElement,body=document.body;event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc.clientLeft||0);event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc.clientTop||0);}if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)event.metaKey=event.ctrlKey;if(!event.which&&event.button)event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},special:{ready:{setup:function(){bindReady();return;},teardown:function(){return;}},mouseenter:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseover",jQuery.event.special.mouseenter.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseover",jQuery.event.special.mouseenter.handler);return true;},handler:function(event){if(withinElement(event,this))return true;arguments[0].type="mouseenter";return jQuery.event.handle.apply(this,arguments);}},mouseleave:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseout",jQuery.event.special.mouseleave.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseout",jQuery.event.special.mouseleave.handler);return true;},handler:function(event){if(withinElement(event,this))return true;arguments[0].type="mouseleave";return jQuery.event.handle.apply(this,arguments);}}}};jQuery.fn.extend({bind:function(type,data,fn){return type=="unload"?this.one(type,data,fn):this.each(function(){jQuery.event.add(this,type,fn||data,fn&&data);});},one:function(type,data,fn){return this.each(function(){jQuery.event.add(this,type,function(event){jQuery(this).unbind(event);return(fn||data).apply(this,arguments);},fn&&data);});},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:function(type,data,fn){return this.each(function(){jQuery.event.trigger(type,data,this,true,fn);});},triggerHandler:function(type,data,fn){if(this[0])return jQuery.event.trigger(type,data,this[0],false,fn);return undefined;},toggle:function(){var args=arguments;return this.click(function(event){this.lastToggle=0==this.lastToggle?1:0;event.preventDefault();return args[this.lastToggle].apply(this,arguments)||false;});},hover:function(fnOver,fnOut){return this.bind('mouseenter',fnOver).bind('mouseleave',fnOut);},ready:function(fn){bindReady();if(jQuery.isReady)fn.call(document,jQuery);else +jQuery.readyList.push(function(){return fn.call(this,jQuery);});return this;}});jQuery.extend({isReady:false,readyList:[],ready:function(){if(!jQuery.isReady){jQuery.isReady=true;if(jQuery.readyList){jQuery.each(jQuery.readyList,function(){this.apply(document);});jQuery.readyList=null;}jQuery(document).triggerHandler("ready");}}});var readyBound=false;function bindReady(){if(readyBound)return;readyBound=true;if(document.addEventListener&&!jQuery.browser.opera)document.addEventListener("DOMContentLoaded",jQuery.ready,false);if(jQuery.browser.msie&&window==top)(function(){if(jQuery.isReady)return;try{document.documentElement.doScroll("left");}catch(error){setTimeout(arguments.callee,0);return;}jQuery.ready();})();if(jQuery.browser.opera)document.addEventListener("DOMContentLoaded",function(){if(jQuery.isReady)return;for(var i=0;i=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}callback=callback||function(){};var type="GET";if(params)if(jQuery.isFunction(params)){callback=params;params=null;}else{params=jQuery.param(params);type="POST";}var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")self.html(selector?jQuery("
").append(res.responseText.replace(//g,"")).find(selector):res.responseText);self.each(callback,[res.responseText,status,res]);}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return jQuery.nodeName(this,"form")?jQuery.makeArray(this.elements):this;}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password/i.test(this.type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:val.constructor==Array?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=(new Date).getTime();jQuery.extend({get:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data=null;}return jQuery.ajax({type:"GET",url:url,data:data,success:callback,dataType:type});},getScript:function(url,callback){return jQuery.get(url,null,callback,"script");},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json");},post:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data={};}return jQuery.ajax({type:"POST",url:url,data:data,success:callback,dataType:type});},ajaxSetup:function(settings){jQuery.extend(jQuery.ajaxSettings,settings);},ajaxSettings:{global:true,type:"GET",timeout:0,contentType:"application/x-www-form-urlencoded",processData:true,async:true,data:null,username:null,password:null,accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){var jsonp,jsre=/=\?(&|$)/g,status,data;s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));if(s.data&&s.processData&&typeof s.data!="string")s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(s.type.toLowerCase()=="get"){if(!s.url.match(jsre))s.url+=(s.url.match(/\?/)?"&":"?")+(s.jsonp||"callback")+"=?";}else if(!s.data||!s.data.match(jsre))s.data=(s.data?s.data+"&":"")+(s.jsonp||"callback")+"=?";s.dataType="json";}if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();window[jsonp]=undefined;try{delete window[jsonp];}catch(e){}if(head)head.removeChild(script);};}if(s.dataType=="script"&&s.cache==null)s.cache=false;if(s.cache===false&&s.type.toLowerCase()=="get"){var ts=(new Date()).getTime();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}if(s.data&&s.type.toLowerCase()=="get"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}if(s.global&&!jQuery.active++)jQuery.event.trigger("ajaxStart");if((!s.url.indexOf("http")||!s.url.indexOf("//"))&&(s.dataType=="script"||s.dataType=="json")&&s.type.toLowerCase()=="get"){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)script.charset=s.scriptCharset;if(!jsonp){var done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;success();complete();head.removeChild(script);}};}head.appendChild(script);return undefined;}var requestDone=false;var xml=window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();xml.open(s.type,s.url,s.async,s.username,s.password);try{if(s.data)xml.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)xml.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xml.setRequestHeader("X-Requested-With","XMLHttpRequest");xml.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}if(s.beforeSend)s.beforeSend(xml);if(s.global)jQuery.event.trigger("ajaxSend",[xml,s]);var onreadystatechange=function(isTimeout){if(!requestDone&&xml&&(xml.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}status=isTimeout=="timeout"&&"timeout"||!jQuery.httpSuccess(xml)&&"error"||s.ifModified&&jQuery.httpNotModified(xml,s.url)&&"notmodified"||"success";if(status=="success"){try{data=jQuery.httpData(xml,s.dataType);}catch(e){status="parsererror";}}if(status=="success"){var modRes;try{modRes=xml.getResponseHeader("Last-Modified");}catch(e){}if(s.ifModified&&modRes)jQuery.lastModified[s.url]=modRes;if(!jsonp)success();}else +jQuery.handleError(s,xml,status);complete();if(s.async)xml=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)setTimeout(function(){if(xml){xml.abort();if(!requestDone)onreadystatechange("timeout");}},s.timeout);}try{xml.send(s.data);}catch(e){jQuery.handleError(s,xml,null,e);}if(!s.async)onreadystatechange();function success(){if(s.success)s.success(data,status);if(s.global)jQuery.event.trigger("ajaxSuccess",[xml,s]);}function complete(){if(s.complete)s.complete(xml,status);if(s.global)jQuery.event.trigger("ajaxComplete",[xml,s]);if(s.global&&!--jQuery.active)jQuery.event.trigger("ajaxStop");}return xml;},handleError:function(s,xml,status,e){if(s.error)s.error(xml,status,e);if(s.global)jQuery.event.trigger("ajaxError",[xml,s,e]);},active:0,httpSuccess:function(r){try{return!r.status&&location.protocol=="file:"||(r.status>=200&&r.status<300)||r.status==304||r.status==1223||jQuery.browser.safari&&r.status==undefined;}catch(e){}return false;},httpNotModified:function(xml,url){try{var xmlRes=xml.getResponseHeader("Last-Modified");return xml.status==304||xmlRes==jQuery.lastModified[url]||jQuery.browser.safari&&xml.status==undefined;}catch(e){}return false;},httpData:function(r,type){var ct=r.getResponseHeader("content-type");var xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0;var data=xml?r.responseXML:r.responseText;if(xml&&data.documentElement.tagName=="parsererror")throw"parsererror";if(type=="script")jQuery.globalEval(data);if(type=="json")data=eval("("+data+")");return data;},param:function(a){var s=[];if(a.constructor==Array||a.jquery)jQuery.each(a,function(){s.push(encodeURIComponent(this.name)+"="+encodeURIComponent(this.value));});else +for(var j in a)if(a[j]&&a[j].constructor==Array)jQuery.each(a[j],function(){s.push(encodeURIComponent(j)+"="+encodeURIComponent(this));});else +s.push(encodeURIComponent(j)+"="+encodeURIComponent(a[j]));return s.join("&").replace(/%20/g,"+");}});jQuery.fn.extend({show:function(speed,callback){return speed?this.animate({height:"show",width:"show",opacity:"show"},speed,callback):this.filter(":hidden").each(function(){this.style.display=this.oldblock||"";if(jQuery.css(this,"display")=="none"){var elem=jQuery("<"+this.tagName+" />").appendTo("body");this.style.display=elem.css("display");if(this.style.display=="none")this.style.display="block";elem.remove();}}).end();},hide:function(speed,callback){return speed?this.animate({height:"hide",width:"hide",opacity:"hide"},speed,callback):this.filter(":visible").each(function(){this.oldblock=this.oldblock||jQuery.css(this,"display");this.style.display="none";}).end();},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle(fn,fn2):fn?this.animate({height:"toggle",width:"toggle",opacity:"toggle"},fn,fn2):this.each(function(){jQuery(this)[jQuery(this).is(":hidden")?"show":"hide"]();});},slideDown:function(speed,callback){return this.animate({height:"show"},speed,callback);},slideUp:function(speed,callback){return this.animate({height:"hide"},speed,callback);},slideToggle:function(speed,callback){return this.animate({height:"toggle"},speed,callback);},fadeIn:function(speed,callback){return this.animate({opacity:"show"},speed,callback);},fadeOut:function(speed,callback){return this.animate({opacity:"hide"},speed,callback);},fadeTo:function(speed,to,callback){return this.animate({opacity:to},speed,callback);},animate:function(prop,speed,easing,callback){var optall=jQuery.speed(speed,easing,callback);return this[optall.queue===false?"each":"queue"](function(){if(this.nodeType!=1)return false;var opt=jQuery.extend({},optall);var hidden=jQuery(this).is(":hidden"),self=this;for(var p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)return jQuery.isFunction(opt.complete)&&opt.complete.apply(this);if(p=="height"||p=="width"){opt.display=jQuery.css(this,"display");opt.overflow=this.style.overflow;}}if(opt.overflow!=null)this.style.overflow="hidden";opt.curAnim=jQuery.extend({},prop);jQuery.each(prop,function(name,val){var e=new jQuery.fx(self,opt,name);if(/toggle|show|hide/.test(val))e[val=="toggle"?hidden?"show":"hide":val](prop);else{var parts=val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),start=e.cur(true)||0;if(parts){var end=parseFloat(parts[2]),unit=parts[3]||"px";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}if(parts[1])end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else +e.custom(start,val,"");}});return true;});},queue:function(type,fn){if(jQuery.isFunction(type)||(type&&type.constructor==Array)){fn=type;type="fx";}if(!type||(typeof type=="string"&&!fn))return queue(this[0],type);return this.each(function(){if(fn.constructor==Array)queue(this,type,fn);else{queue(this,type).push(fn);if(queue(this,type).length==1)fn.apply(this);}});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)if(timers[i].elem==this){if(gotoEnd)timers[i](true);timers.splice(i,1);}});if(!gotoEnd)this.dequeue();return this;}});var queue=function(elem,type,array){if(!elem)return undefined;type=type||"fx";var q=jQuery.data(elem,type+"queue");if(!q||array)q=jQuery.data(elem,type+"queue",array?jQuery.makeArray(array):[]);return q;};jQuery.fn.dequeue=function(type){type=type||"fx";return this.each(function(){var q=queue(this,type);q.shift();if(q.length)q[0].apply(this);});};jQuery.extend({speed:function(speed,easing,fn){var opt=speed&&speed.constructor==Object?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&easing.constructor!=Function&&easing};opt.duration=(opt.duration&&opt.duration.constructor==Number?opt.duration:{slow:600,fast:200}[opt.duration])||400;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)jQuery(this).dequeue();if(jQuery.isFunction(opt.old))opt.old.apply(this);};return opt;},easing:{linear:function(p,n,firstNum,diff){return firstNum+diff*p;},swing:function(p,n,firstNum,diff){return((-Math.cos(p*Math.PI)/2)+0.5)*diff+firstNum;}},timers:[],timerId:null,fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)options.orig={};}});jQuery.fx.prototype={update:function(){if(this.options.step)this.options.step.apply(this.elem,[this.now,this]);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if(this.prop=="height"||this.prop=="width")this.elem.style.display="block";},cur:function(force){if(this.elem[this.prop]!=null&&this.elem.style[this.prop]==null)return this.elem[this.prop];var r=parseFloat(jQuery.css(this.elem,this.prop,force));return r&&r>-10000?r:parseFloat(jQuery.curCSS(this.elem,this.prop))||0;},custom:function(from,to,unit){this.startTime=(new Date()).getTime();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;this.update();var self=this;function t(gotoEnd){return self.step(gotoEnd);}t.elem=this.elem;jQuery.timers.push(t);if(jQuery.timerId==null){jQuery.timerId=setInterval(function(){var timers=jQuery.timers;for(var i=0;ithis.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var done=true;for(var i in this.options.curAnim)if(this.options.curAnim[i]!==true)done=false;if(done){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")this.elem.style.display="block";}if(this.options.hide)this.elem.style.display="none";if(this.options.hide||this.options.show)for(var p in this.options.curAnim)jQuery.attr(this.elem.style,p,this.options.orig[p]);}if(done&&jQuery.isFunction(this.options.complete))this.options.complete.apply(this.elem);return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;this.pos=jQuery.easing[this.options.easing||(jQuery.easing.swing?"swing":"linear")](this.state,n,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update();}return true;}};jQuery.fx.step={scrollLeft:function(fx){fx.elem.scrollLeft=fx.now;},scrollTop:function(fx){fx.elem.scrollTop=fx.now;},opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now);},_default:function(fx){fx.elem.style[fx.prop]=fx.now+fx.unit;}};jQuery.fn.offset=function(){var left=0,top=0,elem=this[0],results;if(elem)with(jQuery.browser){var parent=elem.parentNode,offsetChild=elem,offsetParent=elem.offsetParent,doc=elem.ownerDocument,safari2=safari&&parseInt(version)<522,fixed=jQuery.css(elem,"position")=="fixed";if(elem.getBoundingClientRect){var box=elem.getBoundingClientRect();add(box.left+Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),box.top+Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));add(-doc.documentElement.clientLeft,-doc.documentElement.clientTop);}else{add(elem.offsetLeft,elem.offsetTop);while(offsetParent){add(offsetParent.offsetLeft,offsetParent.offsetTop);if(mozilla&&!/^t(able|d|h)$/i.test(offsetParent.tagName)||safari&&!safari2)border(offsetParent);if(!fixed&&jQuery.css(offsetParent,"position")=="fixed")fixed=true;offsetChild=/^body$/i.test(offsetParent.tagName)?offsetChild:offsetParent;offsetParent=offsetParent.offsetParent;}while(parent&&parent.tagName&&!/^body|html$/i.test(parent.tagName)){if(!/^inline|table.*$/i.test(jQuery.css(parent,"display")))add(-parent.scrollLeft,-parent.scrollTop);if(mozilla&&jQuery.css(parent,"overflow")!="visible")border(parent);parent=parent.parentNode;}if((safari2&&(fixed||jQuery.css(offsetChild,"position")=="absolute"))||(mozilla&&jQuery.css(offsetChild,"position")!="absolute"))add(-doc.body.offsetLeft,-doc.body.offsetTop);if(fixed)add(Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));}results={top:top,left:left};}function border(elem){add(jQuery.curCSS(elem,"borderLeftWidth",true),jQuery.curCSS(elem,"borderTopWidth",true));}function add(l,t){left+=parseInt(l)||0;top+=parseInt(t)||0;}return results;};})(); \ No newline at end of file diff --git a/demo/Blog/template/banner.tt b/demo/Blog/template/banner.tt new file mode 100644 index 0000000..02bac6f --- /dev/null +++ b/demo/Blog/template/banner.tt @@ -0,0 +1,17 @@ +[% DEFAULT + blog_name = 'Foo\'s blog', + blog_desc = 'This is my blog' +-%] + + diff --git a/demo/Blog/template/elem/archive-list.tt b/demo/Blog/template/elem/archive-list.tt new file mode 100644 index 0000000..b0d1792 --- /dev/null +++ b/demo/Blog/template/elem/archive-list.tt @@ -0,0 +1,27 @@ + + +

+ +[% IF offset > 0 %] + << +[% END %] +    +    +    +    +    +[% IF archives.size == count %] + + Next... + +[% END %] + +

+ diff --git a/demo/Blog/template/elem/archive-nav.tt b/demo/Blog/template/elem/archive-nav.tt new file mode 100644 index 0000000..36b92cc --- /dev/null +++ b/demo/Blog/template/elem/archive-nav.tt @@ -0,0 +1,16 @@ +[% IF next %] + [%- index = next.month %] + + « [% months.$index %] [% next.year %] + +[% END %] + | + Main + | +[% IF prev %] + [%- index = prev.month %] + + [% months.$index %] [% prev.year %] » + +[% END %] + diff --git a/demo/Blog/template/elem/calendar.tt b/demo/Blog/template/elem/calendar.tt new file mode 100644 index 0000000..7cf9825 --- /dev/null +++ b/demo/Blog/template/elem/calendar.tt @@ -0,0 +1,71 @@ +[%- index = month + 1 %] +

[% months.$index %] [% year %]

+
+ + + + + + + + + + + + +
+ + << + + + + < + +     + + > + + + + >> + +
+ + + + + + + + + + + + [%- day = 1; %] + [%- WHILE day <= end_of_month %] + + [%- day_of_week = 0 %] + [%- WHILE day_of_week <= 6 %] + [%- today_mark = day == today ? 'class="today-cell"' : '' %] + [%- IF (day > end_of_month) || (day == 1 && day_of_week < first_day_of_week) -%] + + [%- ELSE -%] + + [%- day = day + 1 %] + [%- END %] + [%- day_of_week = day_of_week + 1 %] + [%- END %] + [%- END %] + + +
SunMonTueWedThuFriSat
 [% day %]
+
+ diff --git a/demo/Blog/template/elem/comments.tt b/demo/Blog/template/elem/comments.tt new file mode 100644 index 0000000..5986e4d --- /dev/null +++ b/demo/Blog/template/elem/comments.tt @@ -0,0 +1,29 @@ +[%- FOREACH comment IN comments -%] + +
+
+ [%- IF comment.body %] + [%- comment.body.replace('&', '&') + .replace('<', '<') + .replace('>', '>') + .replace('\n', '
') + .replace(' ', '  ') + .replace('(http://(?:\%[A-Fa-f0-9]{2}|[-A-Za-z./0-9~_])+)', '$1') %] + [%- END %] +
+ +
+[%- END %] + diff --git a/demo/Blog/template/elem/nav.tt b/demo/Blog/template/elem/nav.tt new file mode 100644 index 0000000..07a5cab --- /dev/null +++ b/demo/Blog/template/elem/nav.tt @@ -0,0 +1,24 @@ +[% + SET prev_post = undef; + SET next_post = undef; + FOREACH post IN posts; + IF post.id < current; + prev_post = post; + ELSE; + next_post = post; + END; + END -%] +[% IF next_post %] + + « [% next_post.title %] + +[% END %] + | + Main + | +[% IF prev_post %] + + [% prev_post.title %] » + +[% END %] + diff --git a/demo/Blog/template/elem/pager.tt b/demo/Blog/template/elem/pager.tt new file mode 100644 index 0000000..61600cb --- /dev/null +++ b/demo/Blog/template/elem/pager.tt @@ -0,0 +1,51 @@ +[% DEFAULT + page = 1, + page_count = undef, + title = 'Pages', + prefix = 'post-list/', + suffix = '' +-%] + +[% IF page_count <= 10; + from = 1; + to = page_count; + ELSE; + from = page - 10 >= 1 ? page - 10 : 1 + to = page + 9 >= page_count ? page_count : page + 9; + END -%] + +
+ + + + + + [%- i = from; %] + [%- WHILE i <= to %] + [%- IF i == page %] + + [%- ELSE %] + + [%- END %] + [%- i = i + 1 %] + [%- END %] + + + +
+ [% title %]:    + + [%- IF page > 1 %] + + Previous + + [%- END %] + [% i %][% i %] + [%- IF page < page_count %] + + Next + + [%- END %] +
+
+
diff --git a/demo/Blog/template/elem/post-list.tt b/demo/Blog/template/elem/post-list.tt new file mode 100644 index 0000000..f4a88ac --- /dev/null +++ b/demo/Blog/template/elem/post-list.tt @@ -0,0 +1,5 @@ +
+[% FOREACH post IN post_list %] + [% PROCESS 'post.tt' %] +[% END %] + diff --git a/demo/Blog/template/elem/post-page.tt b/demo/Blog/template/elem/post-page.tt new file mode 100644 index 0000000..f43b88f --- /dev/null +++ b/demo/Blog/template/elem/post-page.tt @@ -0,0 +1,55 @@ +

+

+ + +[% PROCESS 'post.tt' -%] + + +
+

Comments

+
+ +
+
+ +
+
+ +

Post a comment

+
+
+

+ + +

+

+ + + +

+

+ + +

+ +

+ +

+
+ +

+ + +

+
+ + + +
+
+ diff --git a/demo/Blog/template/elem/post.tt b/demo/Blog/template/elem/post.tt new file mode 100644 index 0000000..c0bb6c0 --- /dev/null +++ b/demo/Blog/template/elem/post.tt @@ -0,0 +1,32 @@ +

[% post.created %]

+
+

+ + [%- post.title -%] + +

+
+
+ [%- post.content -%] +

+

+
+ +
+ diff --git a/demo/Blog/template/elem/recent-comments.tt b/demo/Blog/template/elem/recent-comments.tt new file mode 100644 index 0000000..bdf5a37 --- /dev/null +++ b/demo/Blog/template/elem/recent-comments.tt @@ -0,0 +1,30 @@ + + +

+ +[% IF offset > 0 %] + << +[% END %] +    +    +    +    +    +[% IF last_id > 1 && comments.size == count %] + + Next... + +[% END %] + +

+ diff --git a/demo/Blog/template/elem/recent-posts.tt b/demo/Blog/template/elem/recent-posts.tt new file mode 100644 index 0000000..b31cc1f --- /dev/null +++ b/demo/Blog/template/elem/recent-posts.tt @@ -0,0 +1,28 @@ +
    +[% last_id %] +[% FOREACH post IN posts -%] +
  • + [% post.title %] +
  • + [%- last_id = post.id %] +[% END -%] +
+ +

+ +[% IF offset > 0 %] + << +[% END %] +    +    +    +    +    +[% IF last_id > 1 && posts.size == count %] + + Next... + +[% END %] + +

+ diff --git a/demo/Blog/template/footer.tt b/demo/Blog/template/footer.tt new file mode 100644 index 0000000..8f75f3a --- /dev/null +++ b/demo/Blog/template/footer.tt @@ -0,0 +1,11 @@ + + diff --git a/demo/Blog/template/header.tt b/demo/Blog/template/header.tt new file mode 100644 index 0000000..521ad09 --- /dev/null +++ b/demo/Blog/template/header.tt @@ -0,0 +1,36 @@ +[% DEFAULT + blog_name = 'Foo\'s blog', + blog_desc = 'This is my blog'; +-%] +[% IF NOT pack_js; + js_files = [ + 'jquery.js', + 'blog-jemplate.js', + 'openresty.js', + 'dojo.openresty.js', + 'blog.js', + ]; + ELSE; + js_files = ['jquery-dojo.js', 'blog_min.js']; + END; +-%] + + [% blog_name | html %] + + + + + + [%- FOREACH js_file IN js_files %] + + [%- END %] + + + + + + + + + + diff --git a/demo/Blog/template/index.tt b/demo/Blog/template/index.tt new file mode 100644 index 0000000..d41cb55 --- /dev/null +++ b/demo/Blog/template/index.tt @@ -0,0 +1,41 @@ + + + +[%- PROCESS 'header.tt' -%] + + + + +
+
+ + + [%- PROCESS 'banner.tt' %] + +
+
+
+
+ + + [%- PROCESS 'sidebar.tt' %] + +
+
+
+
+
+ +
+
+
+
+
+
+ [%- PROCESS 'footer.tt' %] +
+
+ + + diff --git a/demo/Blog/template/sidebar.tt b/demo/Blog/template/sidebar.tt new file mode 100644 index 0000000..d5c54c8 --- /dev/null +++ b/demo/Blog/template/sidebar.tt @@ -0,0 +1,98 @@ +
+ +
+ +
+

Site search

+
+ +
+
+ +
+

Recent Posts

+
+
+
+ +
+

Recent Comments

+
+
+
+ +
+

Categories

+
+
+
+
+

Archives

+
+
+
+ +[% IF blog_owner == 'agentzh' %] +
+

[% blog_owner %]

+
+
+
+ +
+
My Photo
+
+
+[% END %] + + + + + +
+

License

+
+ +
+
+ +