erbook 6.1.0 → 7.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/bin/erbook +29 -25
- data/doc/HelloWorld.spec +3 -1
- data/doc/api/classes/ERBook.html +86 -0
- data/doc/api/classes/ERBook/Document.html +399 -0
- data/doc/api/classes/ERBook/Document/Node.html +110 -0
- data/doc/api/classes/ERBook/Template.html +309 -0
- data/doc/api/classes/ERBook/Template/Sandbox.html +134 -0
- data/doc/api/classes/RDoc.html +69 -0
- data/doc/api/classes/RDoc/AnyMethod.html +249 -0
- data/doc/api/classes/RDoc/DummyMarkup.html +60 -0
- data/doc/api/classes/RDoc/DummyMixin.html +54 -0
- data/doc/api/classes/RDoc/DummyOptions.html +60 -0
- data/doc/api/classes/RDoc/TopLevel.html +344 -0
- data/doc/api/classes/String.html +212 -0
- data/doc/api/created.rid +1 -0
- data/doc/api/css/main.css +263 -0
- data/doc/api/css/panel.css +383 -0
- data/doc/api/css/reset.css +53 -0
- data/doc/api/files/ANN_eml.html +276 -0
- data/doc/api/files/ANN_html.html +407 -0
- data/doc/api/files/ANN_txt.html +271 -0
- data/doc/api/files/LICENSE.html +76 -0
- data/doc/api/files/lib/erbook/document_rb.html +74 -0
- data/doc/api/files/lib/erbook/rdoc_rb.html +77 -0
- data/doc/api/files/lib/erbook/template_rb.html +66 -0
- data/doc/api/files/lib/erbook/to_xhtml_rb.html +89 -0
- data/doc/api/files/lib/erbook_rb.html +70 -0
- data/doc/api/i/arrows.png +0 -0
- data/doc/api/i/results_bg.png +0 -0
- data/doc/api/i/tree_bg.png +0 -0
- data/doc/api/index.html +14 -18
- data/doc/api/js/jquery-1.3.2.min.js +19 -0
- data/doc/api/js/jquery-effect.js +593 -0
- data/doc/api/js/main.js +22 -0
- data/doc/api/js/searchdoc.js +605 -0
- data/doc/api/panel/index.html +63 -0
- data/doc/api/panel/search_index.js +1 -0
- data/doc/api/panel/tree.js +1 -0
- data/doc/formats.erb +63 -115
- data/doc/history.erb +125 -92
- data/doc/index.erb +12 -7
- data/doc/index.xhtml +1020 -1347
- data/doc/intro.erb +42 -40
- data/doc/setup.erb +18 -18
- data/doc/theory.erb +24 -31
- data/doc/usage.erb +14 -24
- data/fmt/xhtml.icons/index.yaml +16 -14
- data/fmt/xhtml.icons/rakefile +33 -0
- data/fmt/xhtml.icons/tango-icon-theme-0.8.90/16x16/places/start-here.png +0 -0
- data/fmt/xhtml.icons/tango-icon-theme-0.8.90/32x32/actions/go-down.png +0 -0
- data/fmt/xhtml.icons/tango-icon-theme-0.8.90/32x32/actions/go-up.png +0 -0
- data/fmt/xhtml.icons/tango-icon-theme-0.8.90/32x32/places/start-here.png +0 -0
- data/fmt/xhtml.icons/tango-icon-theme-0.8.90/32x32/status/software-update-available.png +0 -0
- data/fmt/xhtml.icons/{tango-icon-theme-0.8.1 → tango-icon-theme-0.8.90}/48x48/apps/accessories-text-editor.png +0 -0
- data/fmt/xhtml.icons/tango-icon-theme-0.8.90/48x48/apps/internet-group-chat.png +0 -0
- data/fmt/xhtml.icons/{tango-icon-theme-0.8.1 → tango-icon-theme-0.8.90}/48x48/emblems/emblem-important.png +0 -0
- data/fmt/xhtml.icons/{tango-icon-theme-0.8.1 → tango-icon-theme-0.8.90}/48x48/status/dialog-error.png +0 -0
- data/fmt/xhtml.icons/{tango-icon-theme-0.8.1 → tango-icon-theme-0.8.90}/48x48/status/dialog-information.png +0 -0
- data/fmt/xhtml.icons/{tango-icon-theme-0.8.1 → tango-icon-theme-0.8.90}/48x48/status/dialog-warning.png +0 -0
- data/fmt/xhtml.icons/tango-icon-theme-0.8.90/COPYING +1 -0
- data/fmt/xhtml.icons/{tango-icon-theme-0.8.1 → tango-icon-theme-0.8.90}/README +0 -0
- data/fmt/xhtml.icons/tango-icon-theme-0.8.90/scalable/actions/bookmark-new.svg +672 -0
- data/fmt/xhtml.icons/tango-icon-theme-0.8.90/scalable/actions/go-down.svg +200 -0
- data/fmt/xhtml.icons/tango-icon-theme-0.8.90/scalable/actions/go-home.svg +445 -0
- data/fmt/xhtml.icons/tango-icon-theme-0.8.90/scalable/actions/go-up.svg +196 -0
- data/fmt/xhtml.icons/tango-icon-theme-0.8.90/scalable/actions/view-refresh.svg +393 -0
- data/fmt/xhtml.icons/tango-icon-theme-0.8.90/scalable/apps/accessories-text-editor.svg +554 -0
- data/fmt/xhtml.icons/tango-icon-theme-0.8.90/scalable/apps/internet-group-chat.svg +312 -0
- data/fmt/xhtml.icons/tango-icon-theme-0.8.90/scalable/emblems/emblem-favorite.svg +242 -0
- data/fmt/xhtml.icons/tango-icon-theme-0.8.90/scalable/emblems/emblem-important.svg +164 -0
- data/fmt/xhtml.icons/tango-icon-theme-0.8.90/scalable/mimetypes/application-certificate.svg +443 -0
- data/fmt/xhtml.icons/tango-icon-theme-0.8.90/scalable/places/start-here.svg +492 -0
- data/fmt/xhtml.icons/tango-icon-theme-0.8.90/scalable/status/dialog-error.svg +330 -0
- data/fmt/xhtml.icons/tango-icon-theme-0.8.90/scalable/status/dialog-information.svg +1159 -0
- data/fmt/xhtml.icons/tango-icon-theme-0.8.90/scalable/status/dialog-warning.svg +373 -0
- data/fmt/xhtml.icons/tango-icon-theme-0.8.90/scalable/status/software-update-available.svg +209 -0
- data/fmt/xhtml.scripts/jquery-1.3.2.min.js +19 -0
- data/fmt/xhtml.scripts/jquery.localscroll-1.2.7-min.js +9 -0
- data/fmt/xhtml.scripts/jquery.scrollTo-1.4.1-min.js +11 -0
- data/fmt/xhtml.yaml +470 -454
- data/lang/de.yaml +5 -5
- data/lang/el.yaml +4 -4
- data/lang/es.yaml +5 -5
- data/lang/fr.yaml +5 -5
- data/lang/it.yaml +5 -5
- data/lang/ja.yaml +4 -4
- data/lang/ko.yaml +4 -4
- data/lang/nl.yaml +4 -4
- data/lang/phrases.yaml +4 -4
- data/lang/pt.yaml +5 -5
- data/lang/ru.yaml +5 -5
- data/lang/zh.yaml +5 -5
- data/lang/zt.yaml +5 -5
- data/lib/erbook.rb +12 -5
- data/lib/erbook/document.rb +127 -107
- data/lib/erbook/rdoc.rb +18 -11
- data/lib/erbook/template.rb +86 -176
- data/lib/erbook/to_xhtml.rb +98 -25
- data/{Rakefile → rakefile} +1 -0
- metadata +106 -53
- data/doc/api/ERBook.html +0 -35
- data/doc/api/ERBook/Document.html +0 -669
- data/doc/api/ERBook/Document/Node.html +0 -102
- data/doc/api/ERBook/Template.html +0 -670
- data/doc/api/RDoc.html +0 -23
- data/doc/api/RDoc/AnyMethod.html +0 -302
- data/doc/api/RDoc/DummyMarkup.html +0 -73
- data/doc/api/RDoc/DummyMixin.html +0 -23
- data/doc/api/RDoc/DummyOptions.html +0 -140
- data/doc/api/RDoc/TopLevel.html +0 -465
- data/doc/api/String.html +0 -372
- data/doc/api/all-methods.html +0 -253
- data/doc/api/all-namespaces.html +0 -42
- data/doc/api/app.js +0 -18
- data/doc/api/jquery.js +0 -11
- data/doc/api/readme.html +0 -38
- data/doc/api/style.css +0 -68
- data/doc/api/syntax_highlight.css +0 -21
- data/fmt/xhtml.icons/tango-icon-theme-0.8.1/48x48/README +0 -2
- data/fmt/xhtml.icons/tango-icon-theme-0.8.1/48x48/apps/internet-group-chat.png +0 -0
- data/fmt/xhtml.icons/tango-icon-theme-0.8.1/COPYING +0 -67
@@ -0,0 +1,19 @@
|
|
1
|
+
/*
|
2
|
+
* jQuery JavaScript Library v1.3.2
|
3
|
+
* http://jquery.com/
|
4
|
+
*
|
5
|
+
* Copyright (c) 2009 John Resig
|
6
|
+
* Dual licensed under the MIT and GPL licenses.
|
7
|
+
* http://docs.jquery.com/License
|
8
|
+
*
|
9
|
+
* Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009)
|
10
|
+
* Revision: 6246
|
11
|
+
*/
|
12
|
+
(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F<J;F++){var G=M[F];if(G.selected){K=o(G).val();if(H){return K}L.push(K)}}return L}return(E.value||"").replace(/\r/g,"")}return g}if(typeof K==="number"){K+=""}return this.each(function(){if(this.nodeType!=1){return}if(o.isArray(K)&&/radio|checkbox/.test(this.type)){this.checked=(o.inArray(this.value,K)>=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G<E;G++){L.call(K(this[G],H),this.length>1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H<I;H++){if((G=arguments[H])!=null){for(var F in G){var K=J[F],L=G[F];if(J===L){continue}if(E&&L&&typeof L==="object"&&!L.nodeType){J[F]=o.extend(E,K||(L.length!=null?[]:{}),L)}else{if(L!==g){J[F]=L}}}}}return J};var b=/z-?index|font-?weight|opacity|zoom|line-?height/i,q=document.defaultView||{},s=Object.prototype.toString;o.extend({noConflict:function(E){l.$=p;if(E){l.jQuery=y}return o},isFunction:function(E){return s.call(E)==="[object Function]"},isArray:function(E){return s.call(E)==="[object Array]"},isXMLDoc:function(E){return E.nodeType===9&&E.documentElement.nodeName!=="HTML"||!!E.ownerDocument&&o.isXMLDoc(E.ownerDocument)},globalEval:function(G){if(G&&/\S/.test(G)){var F=document.getElementsByTagName("head")[0]||document.documentElement,E=document.createElement("script");E.type="text/javascript";if(o.support.scriptEval){E.appendChild(document.createTextNode(G))}else{E.text=G}F.insertBefore(E,F.firstChild);F.removeChild(E)}},nodeName:function(F,E){return F.nodeName&&F.nodeName.toUpperCase()==E.toUpperCase()},each:function(G,K,F){var E,H=0,I=G.length;if(F){if(I===g){for(E in G){if(K.apply(G[E],F)===false){break}}}else{for(;H<I;){if(K.apply(G[H++],F)===false){break}}}}else{if(I===g){for(E in G){if(K.call(G[E],E,G[E])===false){break}}}else{for(var J=G[0];H<I&&K.call(J,H,J)!==false;J=G[++H]){}}}return G},prop:function(H,I,G,F,E){if(o.isFunction(I)){I=I.call(H,F)}return typeof I==="number"&&G=="curCSS"&&!b.test(E)?I+"px":I},className:{add:function(E,F){o.each((F||"").split(/\s+/),function(G,H){if(E.nodeType==1&&!o.className.has(E.className,H)){E.className+=(E.className?" ":"")+H}})},remove:function(E,F){if(E.nodeType==1){E.className=F!==g?o.grep(E.className.split(/\s+/),function(G){return !o.className.has(F,G)}).join(" "):""}},has:function(F,E){return F&&o.inArray(E,(F.className||F).toString().split(/\s+/))>-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+"></"+T+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!O.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!O.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!O.indexOf("<td")||!O.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!O.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!o.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/<tbody/i.test(S),N=!O.indexOf("<table")&&!R?L.firstChild&&L.firstChild.childNodes:Q[1]=="<table>"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E<F;E++){if(H[E]===G){return E}}return -1},merge:function(H,E){var F=0,G,I=H.length;if(!o.support.getAll){while((G=E[F++])!=null){if(G.nodeType!=8){H[I++]=G}}}else{while((G=E[F++])!=null){H[I++]=G}}return H},unique:function(K){var F=[],E={};try{for(var G=0,H=K.length;G<H;G++){var J=o.data(K[G]);if(!E[J]){E[J]=true;F.push(K[G])}}}catch(I){F=K}return F},grep:function(F,J,E){var G=[];for(var H=0,I=F.length;H<I;H++){if(!E!=!J(F[H],H)){G.push(F[H])}}return G},map:function(E,J){var F=[];for(var G=0,H=E.length;G<H;G++){var I=J(E[G],G);if(I!=null){F[F.length]=I}}return F.concat.apply([],F)}});var C=navigator.userAgent.toLowerCase();o.browser={version:(C.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1],safari:/webkit/.test(C),opera:/opera/.test(C),msie:/msie/.test(C)&&!/opera/.test(C),mozilla:/mozilla/.test(C)&&!/(compatible|webkit)/.test(C)};o.each({parent:function(E){return E.parentNode},parents:function(E){return o.dir(E,"parentNode")},next:function(E){return o.nth(E,2,"nextSibling")},prev:function(E){return o.nth(E,2,"previousSibling")},nextAll:function(E){return o.dir(E,"nextSibling")},prevAll:function(E){return o.dir(E,"previousSibling")},siblings:function(E){return o.sibling(E.parentNode.firstChild,E)},children:function(E){return o.sibling(E.firstChild)},contents:function(E){return o.nodeName(E,"iframe")?E.contentDocument||E.contentWindow.document:o.makeArray(E.childNodes)}},function(E,F){o.fn[E]=function(G){var H=o.map(this,F);if(G&&typeof G=="string"){H=o.multiFilter(G,H)}return this.pushStack(o.unique(H),E,G)}});o.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(E,F){o.fn[E]=function(G){var J=[],L=o(G);for(var K=0,H=L.length;K<H;K++){var I=(K>0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}});
|
13
|
+
/*
|
14
|
+
* Sizzle CSS Selector Engine - v0.9.3
|
15
|
+
* Copyright 2009, The Dojo Foundation
|
16
|
+
* Released under the MIT, BSD, and GPL Licenses.
|
17
|
+
* More information: http://sizzlejs.com/
|
18
|
+
*/
|
19
|
+
(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa<ab.length;aa++){if(ab[aa]===ab[aa-1]){ab.splice(aa--,1)}}}}}return ab};F.matches=function(T,U){return F(T,null,null,U)};F.find=function(aa,T,ab){var Z,X;if(!aa){return[]}for(var W=0,V=I.order.length;W<V;W++){var Y=I.order[W],X;if((X=I.match[Y].exec(aa))){var U=RegExp.leftContext;if(U.substr(U.length-1)!=="\\"){X[1]=(X[1]||"").replace(/\\/g,"");Z=I.find[Y](X,T,ab);if(Z!=null){aa=aa.replace(I.match[Y],"");break}}}}if(!Z){Z=T.getElementsByTagName("*")}return{set:Z,expr:aa}};F.filter=function(ad,ac,ag,W){var V=ad,ai=[],aa=ac,Y,T,Z=ac&&ac[0]&&Q(ac[0]);while(ad&&ac.length){for(var ab in I.filter){if((Y=I.match[ab].exec(ad))!=null){var U=I.filter[ab],ah,af;T=false;if(aa==ai){ai=[]}if(I.preFilter[ab]){Y=I.preFilter[ab](Y,aa,ag,ai,W,Z);if(!Y){T=ah=true}else{if(Y===true){continue}}}if(Y){for(var X=0;(af=aa[X])!=null;X++){if(af){ah=U(af,Y,X,aa);var ae=W^!!ah;if(ag&&ah!=null){if(ae){T=true}else{aa[X]=false}}else{if(ae){ai.push(af);T=true}}}}}if(ah!==g){if(!ag){aa=ai}ad=ad.replace(I.match[ab],"");if(!T){return[]}break}}}if(ad==V){if(T==null){throw"Syntax error, unrecognized expression: "+ad}else{break}}V=ad}return aa};var I=F.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(T){return T.getAttribute("href")}},relative:{"+":function(aa,T,Z){var X=typeof T==="string",ab=X&&!/\W/.test(T),Y=X&&!ab;if(ab&&!Z){T=T.toUpperCase()}for(var W=0,V=aa.length,U;W<V;W++){if((U=aa[W])){while((U=U.previousSibling)&&U.nodeType!==1){}aa[W]=Y||U&&U.nodeName===T?U||false:U===T}}if(Y){F.filter(T,aa,true)}},">":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){var W=Y.parentNode;Z[V]=W.nodeName===U?W:false}}}else{for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){Z[V]=X?Y.parentNode:Y.parentNode===U}}if(X){F.filter(U,Z,true)}}},"":function(W,U,Y){var V=L++,T=S;if(!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("parentNode",U,V,W,X,Y)},"~":function(W,U,Y){var V=L++,T=S;if(typeof U==="string"&&!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("previousSibling",U,V,W,X,Y)}},find:{ID:function(U,V,W){if(typeof V.getElementById!=="undefined"&&!W){var T=V.getElementById(U[1]);return T?[T]:[]}},NAME:function(V,Y,Z){if(typeof Y.getElementsByName!=="undefined"){var U=[],X=Y.getElementsByName(V[1]);for(var W=0,T=X.length;W<T;W++){if(X[W].getAttribute("name")===V[1]){U.push(X[W])}}return U.length===0?null:U}},TAG:function(T,U){return U.getElementsByTagName(T[1])}},preFilter:{CLASS:function(W,U,V,T,Z,aa){W=" "+W[1].replace(/\\/g,"")+" ";if(aa){return W}for(var X=0,Y;(Y=U[X])!=null;X++){if(Y){if(Z^(Y.className&&(" "+Y.className+" ").indexOf(W)>=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return U<T[3]-0},gt:function(V,U,T){return U>T[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W<T;W++){if(Y[W]===Z){return false}}return true}}}},CHILD:function(T,W){var Z=W[1],U=T;switch(Z){case"only":case"first":while(U=U.previousSibling){if(U.nodeType===1){return false}}if(Z=="first"){return true}U=T;case"last":while(U=U.nextSibling){if(U.nodeType===1){return false}}return true;case"nth":var V=W[2],ac=W[3];if(V==1&&ac==0){return true}var Y=W[0],ab=T.parentNode;if(ab&&(ab.sizcache!==Y||!T.nodeIndex)){var X=0;for(U=ab.firstChild;U;U=U.nextSibling){if(U.nodeType===1){U.nodeIndex=++X}}ab.sizcache=Y}var aa=T.nodeIndex-ac;if(V==0){return aa==0}else{return(aa%V==0&&aa/V>=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V<T;V++){U.push(X[V])}}else{for(var V=0;X[V];V++){U.push(X[V])}}}return U}}var G;if(document.documentElement.compareDocumentPosition){G=function(U,T){var V=U.compareDocumentPosition(T)&4?-1:U===T?0:1;if(V===0){hasDuplicate=true}return V}}else{if("sourceIndex" in document.documentElement){G=function(U,T){var V=U.sourceIndex-T.sourceIndex;if(V===0){hasDuplicate=true}return V}}else{if(document.createRange){G=function(W,U){var V=W.ownerDocument.createRange(),T=U.ownerDocument.createRange();V.selectNode(W);V.collapse(true);T.selectNode(U);T.collapse(true);var X=V.compareBoundaryPoints(Range.START_TO_END,T);if(X===0){hasDuplicate=true}return X}}}}(function(){var U=document.createElement("form"),V="script"+(new Date).getTime();U.innerHTML="<input name='"+V+"'/>";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="<a href='#'></a>";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="<p class='TEST'></p>";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="<div class='test e'></div><div class='test'></div>";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1&&!ac){T.sizcache=Y;T.sizset=W}if(T.nodeName===Z){X=T;break}T=T[U]}ad[W]=X}}}function S(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1){if(!ac){T.sizcache=Y;T.sizset=W}if(typeof Z!=="string"){if(T===Z){X=true;break}}else{if(F.filter(Z,[T]).length>0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z<U;Z++){F(T,V[Z],W)}return F.filter(X,W)};o.find=F;o.filter=F.filter;o.expr=F.selectors;o.expr[":"]=o.expr.filters;F.selectors.filters.hidden=function(T){return T.offsetWidth===0||T.offsetHeight===0};F.selectors.filters.visible=function(T){return T.offsetWidth>0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0){I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F<E.length){o.event.proxy(G,E[F++])}return this.click(o.event.proxy(G,function(H){this.lastToggle=(this.lastToggle||0)%F;H.preventDefault();return E[this.lastToggle++].apply(this,arguments)||false}))},hover:function(E,F){return this.mouseenter(E).mouseleave(F)},ready:function(E){B();if(o.isReady){E.call(document,o)}else{o.readyList.push(E)}return this},live:function(G,F){var E=o.event.proxy(F);E.guid+=this.selector+G;o(document).bind(i(G,this.selector),this.selector,E);return this},die:function(F,E){o(document).unbind(i(F,this.selector),E?{guid:E.guid+this.selector+F}:null);return this}});function c(H){var E=RegExp("(^|\\.)"+H.type+"(\\.|$)"),G=true,F=[];o.each(o.data(this,"events").live||[],function(I,J){if(E.test(J.type)){var K=o(H.target).closest(J.data)[0];if(K){F.push({elem:K,fn:J})}}});F.sort(function(J,I){return o.data(J.elem,"closest")-o.data(I.elem,"closest")});o.each(F,function(){if(this.fn.call(this.elem,H,this.fn.data)===false){return(G=false)}});return G}function i(F,E){return["live",F,E.replace(/\./g,"`").replace(/ /g,"|")].join(".")}o.extend({isReady:false,readyList:[],ready:function(){if(!o.isReady){o.isReady=true;if(o.readyList){o.each(o.readyList,function(){this.call(document,o)});o.readyList=null}o(document).triggerHandler("ready")}}});var x=false;function B(){if(x){return}x=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);o.ready()},false)}else{if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);o.ready()}});if(document.documentElement.doScroll&&l==l.top){(function(){if(o.isReady){return}try{document.documentElement.doScroll("left")}catch(E){setTimeout(arguments.callee,0);return}o.ready()})()}}}o.event.add(l,"load",o.ready)}o.each(("blur,focus,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,error").split(","),function(F,E){o.fn[E]=function(G){return G?this.bind(E,G):this.trigger(E)}});o(l).bind("unload",function(){for(var E in o.cache){if(E!=1&&o.cache[E].handle){o.event.remove(o.cache[E].handle.elem)}}});(function(){o.support={};var F=document.documentElement,G=document.createElement("script"),K=document.createElement("div"),J="script"+(new Date).getTime();K.style.display="none";K.innerHTML=' <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var H=K.getElementsByTagName("*"),E=K.getElementsByTagName("a")[0];if(!H||!H.length||!E){return}o.support={leadingWhitespace:K.firstChild.nodeType==3,tbody:!K.getElementsByTagName("tbody").length,objectAll:!!K.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!K.getElementsByTagName("link").length,style:/red/.test(E.getAttribute("style")),hrefNormalized:E.getAttribute("href")==="/a",opacity:E.style.opacity==="0.5",cssFloat:!!E.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};G.type="text/javascript";try{G.appendChild(document.createTextNode("window."+J+"=1;"))}catch(I){}F.insertBefore(G,F.firstChild);if(l[J]){o.support.scriptEval=true;delete l[J]}F.removeChild(G);if(K.attachEvent&&K.fireEvent){K.attachEvent("onclick",function(){o.support.noCloneEvent=false;K.detachEvent("onclick",arguments.callee)});K.cloneNode(true).fireEvent("onclick")}o(function(){var L=document.createElement("div");L.style.width=L.style.paddingLeft="1px";document.body.appendChild(L);o.boxModel=o.support.boxModel=L.offsetWidth===2;document.body.removeChild(L).style.display="none"})})();var w=o.support.cssFloat?"cssFloat":"styleFloat";o.props={"for":"htmlFor","class":"className","float":w,cssFloat:w,styleFloat:w,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};o.fn.extend({_load:o.fn.load,load:function(G,J,K){if(typeof G!=="string"){return this._load(G)}var I=G.indexOf(" ");if(I>=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("<div/>").append(M.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},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(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function(){G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H<F;H++){var E=o.data(this[H],"olddisplay");this[H].style.display=E||"";if(o.css(this[H],"display")==="none"){var G=this[H].tagName,K;if(m[G]){K=m[G]}else{var I=o("<"+G+" />").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H<F;H++){this[H].style.display=o.data(this[H],"olddisplay")||""}return this}},hide:function(H,I){if(H){return this.animate(t("hide",3),H,I)}else{for(var G=0,F=this.length;G<F;G++){var E=o.data(this[G],"olddisplay");if(!E&&E!=="none"){o.data(this[G],"olddisplay",o.css(this[G],"display"))}}for(var G=0,F=this.length;G<F;G++){this[G].style.display="none"}return this}},_toggle:o.fn.toggle,toggle:function(G,F){var E=typeof G==="boolean";return o.isFunction(G)&&o.isFunction(F)?this._toggle.apply(this,arguments):G==null||E?this.each(function(){var H=E?G:o(this).is(":hidden");o(this)[H?"show":"hide"]()}):this.animate(t("toggle",3),G,F)},fadeTo:function(E,G,F){return this.animate({opacity:G},E,F)},animate:function(I,F,H,G){var E=o.speed(F,H,G);return this[E.queue===false?"each":"queue"](function(){var K=o.extend({},E),M,L=this.nodeType==1&&o(this).is(":hidden"),J=this;for(M in I){if(I[M]=="hide"&&L||I[M]=="show"&&!L){return K.complete.call(this)}if((M=="height"||M=="width")&&this.style){K.display=o.css(this,"display");K.overflow=this.style.overflow}}if(K.overflow!=null){this.style.overflow="hidden"}K.curAnim=o.extend({},I);o.each(I,function(O,S){var R=new o.fx(J,K,O);if(/toggle|show|hide/.test(S)){R[S=="toggle"?L?"show":"hide":S](I)}else{var Q=S.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),T=R.cur(true)||0;if(Q){var N=parseFloat(Q[2]),P=Q[3]||"px";if(P!="px"){J.style[O]=(N||1)+P;T=((N||1)/R.cur(true))*T;J.style[O]=T+P}if(Q[1]){N=((Q[1]=="-="?-1:1)*N)+T}R.custom(T,N,P)}else{R.custom(T,S,"")}}});return true})},stop:function(F,E){var G=o.timers;if(F){this.queue([])}this.each(function(){for(var H=G.length-1;H>=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J<K.length;J++){if(!K[J]()){K.splice(J--,1)}}if(!K.length){clearInterval(n);n=g}},13)}},show:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());o(this.elem).show()},hide:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(H){var G=e();if(H||G>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})();
|
@@ -0,0 +1,9 @@
|
|
1
|
+
/**
|
2
|
+
* jQuery.LocalScroll - Animated scrolling navigation, using anchors.
|
3
|
+
* Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
|
4
|
+
* Dual licensed under MIT and GPL.
|
5
|
+
* Date: 3/11/2009
|
6
|
+
* @author Ariel Flesler
|
7
|
+
* @version 1.2.7
|
8
|
+
**/
|
9
|
+
;(function($){var l=location.href.replace(/#.*/,'');var g=$.localScroll=function(a){$('body').localScroll(a)};g.defaults={duration:1e3,axis:'y',event:'click',stop:true,target:window,reset:true};g.hash=function(a){if(location.hash){a=$.extend({},g.defaults,a);a.hash=false;if(a.reset){var e=a.duration;delete a.duration;$(a.target).scrollTo(0,a);a.duration=e}i(0,location,a)}};$.fn.localScroll=function(b){b=$.extend({},g.defaults,b);return b.lazy?this.bind(b.event,function(a){var e=$([a.target,a.target.parentNode]).filter(d)[0];if(e)i(a,e,b)}):this.find('a,area').filter(d).bind(b.event,function(a){i(a,this,b)}).end().end();function d(){return!!this.href&&!!this.hash&&this.href.replace(this.hash,'')==l&&(!b.filter||$(this).is(b.filter))}};function i(a,e,b){var d=e.hash.slice(1),f=document.getElementById(d)||document.getElementsByName(d)[0];if(!f)return;if(a)a.preventDefault();var h=$(b.target);if(b.lock&&h.is(':animated')||b.onBefore&&b.onBefore.call(b,a,f,h)===false)return;if(b.stop)h.stop(true);if(b.hash){var j=f.id==d?'id':'name',k=$('<a> </a>').attr(j,d).css({position:'absolute',top:$(window).scrollTop(),left:$(window).scrollLeft()});f[j]='';$('body').prepend(k);location=e.hash;k.remove();f[j]=d}h.scrollTo(f,b).trigger('notify.serialScroll',[f])}})(jQuery);
|
@@ -0,0 +1,11 @@
|
|
1
|
+
/**
|
2
|
+
* jQuery.ScrollTo - Easy element scrolling using jQuery.
|
3
|
+
* Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
|
4
|
+
* Dual licensed under MIT and GPL.
|
5
|
+
* Date: 3/9/2009
|
6
|
+
* @author Ariel Flesler
|
7
|
+
* @version 1.4.1
|
8
|
+
*
|
9
|
+
* http://flesler.blogspot.com/2007/10/jqueryscrollto.html
|
10
|
+
*/
|
11
|
+
;(function($){var m=$.scrollTo=function(b,h,f){$(window).scrollTo(b,h,f)};m.defaults={axis:'xy',duration:parseFloat($.fn.jquery)>=1.3?0:1};m.window=function(b){return $(window).scrollable()};$.fn.scrollable=function(){return this.map(function(){var b=this,h=!b.nodeName||$.inArray(b.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!h)return b;var f=(b.contentWindow||b).document||b.ownerDocument||b;return $.browser.safari||f.compatMode=='BackCompat'?f.body:f.documentElement})};$.fn.scrollTo=function(l,j,a){if(typeof j=='object'){a=j;j=0}if(typeof a=='function')a={onAfter:a};if(l=='max')l=9e9;a=$.extend({},m.defaults,a);j=j||a.speed||a.duration;a.queue=a.queue&&a.axis.length>1;if(a.queue)j/=2;a.offset=n(a.offset);a.over=n(a.over);return this.scrollable().each(function(){var k=this,o=$(k),d=l,p,g={},q=o.is('html,body');switch(typeof d){case'number':case'string':if(/^([+-]=)?\d+(\.\d+)?(px)?$/.test(d)){d=n(d);break}d=$(d,this);case'object':if(d.is||d.style)p=(d=$(d)).offset()}$.each(a.axis.split(''),function(b,h){var f=h=='x'?'Left':'Top',i=f.toLowerCase(),c='scroll'+f,r=k[c],s=h=='x'?'Width':'Height';if(p){g[c]=p[i]+(q?0:r-o.offset()[i]);if(a.margin){g[c]-=parseInt(d.css('margin'+f))||0;g[c]-=parseInt(d.css('border'+f+'Width'))||0}g[c]+=a.offset[i]||0;if(a.over[i])g[c]+=d[s.toLowerCase()]()*a.over[i]}else g[c]=d[i];if(/^\d+$/.test(g[c]))g[c]=g[c]<=0?0:Math.min(g[c],u(s));if(!b&&a.queue){if(r!=g[c])t(a.onAfterFirst);delete g[c]}});t(a.onAfter);function t(b){o.animate(g,j,a.easing,b&&function(){b.call(this,l,a)})};function u(b){var h='scroll'+b;if(!q)return k[h];var f='client'+b,i=k.ownerDocument.documentElement,c=k.ownerDocument.body;return Math.max(i[h],c[h])-Math.min(i[f],c[f])}}).end()};function n(b){return typeof b=='object'?b:{top:b,left:b}}})(jQuery);
|
data/fmt/xhtml.yaml
CHANGED
@@ -1,17 +1,29 @@
|
|
1
|
+
#--
|
2
|
+
# Copyright 2007 Suraj N. Kurapati
|
3
|
+
# See the LICENSE file for details.
|
4
|
+
#++
|
5
|
+
|
1
6
|
desc: web page for the Internet
|
2
7
|
|
3
8
|
code: |
|
9
|
+
ICONS_DIR = File.join(ERBook::FORMATS_DIR, 'xhtml.icons')
|
10
|
+
SCRIPTS_DIR = File.join(ERBook::FORMATS_DIR, 'xhtml.scripts')
|
11
|
+
|
4
12
|
# load the String#to_xhtml and String#to_inline_xhtml methods
|
5
13
|
require 'erbook/to_xhtml'
|
6
14
|
|
7
15
|
class String
|
16
|
+
##
|
8
17
|
# Transforms this UTF-8 string into XML entities.
|
18
|
+
#
|
9
19
|
def to_xml_entities
|
10
20
|
unpack('U*').map! {|c| "&##{c};"}.join
|
11
21
|
end
|
12
22
|
|
23
|
+
##
|
13
24
|
# Transforms this string into a valid URI fragment.
|
14
25
|
# See http://www.nmt.edu/tcc/help/pubs/xhtml/id-type.html
|
26
|
+
#
|
15
27
|
def to_uri_fragment
|
16
28
|
# remove XML tags from the input
|
17
29
|
buf = gsub(/<.*?>/, '')
|
@@ -32,41 +44,146 @@ code: |
|
|
32
44
|
end
|
33
45
|
|
34
46
|
class Hash
|
47
|
+
##
|
35
48
|
# Transforms this hash into a string of XML attribute key="value" pairs.
|
49
|
+
#
|
36
50
|
def to_xml_atts
|
37
51
|
inject([]) {|s,(k,v)| s << %( #{k}="#{v}") }.join
|
38
52
|
end
|
39
53
|
end
|
40
54
|
|
55
|
+
require 'erb'
|
56
|
+
|
41
57
|
module ERBook
|
42
|
-
|
58
|
+
##
|
59
|
+
# Encodes the given input in base64 format.
|
60
|
+
#
|
61
|
+
def ERBook.base_64_encode input #:nodoc:
|
62
|
+
[input].pack('m')
|
63
|
+
end
|
64
|
+
|
65
|
+
##
|
66
|
+
# Returns a string denoting embedded, base64 encoded data.
|
67
|
+
#
|
68
|
+
def ERBook.base_64_embed data, format #:nodoc:
|
69
|
+
"data:#{format.to_s.downcase};base64,#{data.tr("\n", '')}"
|
70
|
+
end
|
71
|
+
|
72
|
+
##
|
73
|
+
# Returns a string denoting embedded, base64 encoded image data.
|
74
|
+
#
|
75
|
+
# [format]
|
76
|
+
# type of image data (e.g. PNG, JPEG, GIF, etc.)
|
77
|
+
#
|
78
|
+
def ERBook.base_64_embed_image_data data, format #:nodoc:
|
79
|
+
base_64_embed data, "image/#{format}"
|
80
|
+
end
|
81
|
+
|
82
|
+
# admonition icons
|
83
|
+
|
84
|
+
ICON_DEFS = YAML.load_file File.join(ICONS_DIR, 'index.yaml')
|
85
|
+
|
86
|
+
class Icon < Struct.new(:origin, :path, :name, :format, :data) #:nodoc:
|
87
|
+
##
|
88
|
+
# Returns a data URI containing embedded image data.
|
89
|
+
#
|
90
|
+
def data_uri
|
91
|
+
ERBook.base_64_embed_image_data self.data, self.format
|
92
|
+
end
|
93
|
+
|
94
|
+
##
|
95
|
+
# Returns a CSS url() containing embedded image data.
|
96
|
+
#
|
97
|
+
def data_css
|
98
|
+
%{url("#{data_uri}")}
|
99
|
+
end
|
100
|
+
|
101
|
+
##
|
102
|
+
# Returns a XML entity reference (to this icon's
|
103
|
+
# embedded image data) ready for insertion into XML.
|
104
|
+
#
|
105
|
+
def entity_xml
|
106
|
+
"&#{entity_name};"
|
107
|
+
end
|
108
|
+
|
109
|
+
##
|
110
|
+
# Returns the name of the XML entity whose
|
111
|
+
# value contains embedded image data.
|
112
|
+
#
|
113
|
+
def entity_name
|
114
|
+
"icon_#{name}"
|
115
|
+
end
|
116
|
+
|
117
|
+
##
|
118
|
+
# Returns an <img/> tag that renders the image
|
119
|
+
# data embedded as an ENTITY in the html DOCTYPE.
|
120
|
+
#
|
121
|
+
def to_xhtml atts = {}
|
122
|
+
atts[:alt] ||= name
|
123
|
+
atts[:src] = entity_xml
|
124
|
+
atts[:class] = :icon
|
125
|
+
"<img#{atts.to_xml_atts}/>"
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
129
|
+
ICON_BY_NAME = {}
|
130
|
+
|
131
|
+
ICON_DEFS.each_pair do |name, path|
|
132
|
+
format = File.extname(path).sub('.', '')
|
133
|
+
origin = path[/^\w+/]
|
134
|
+
|
135
|
+
path = File.join(ICONS_DIR, path) # make the path absolute
|
136
|
+
data = base_64_encode File.open(path, 'rb') {|f| f.read }
|
137
|
+
|
138
|
+
ICON_BY_NAME[name] = Icon.new(origin, path, name, format, data)
|
139
|
+
end
|
140
|
+
|
141
|
+
ICONS = ICON_BY_NAME.values
|
142
|
+
|
143
|
+
class Template::Sandbox
|
144
|
+
##
|
43
145
|
# Protects the given content from the text-to-XHTML conversion process.
|
146
|
+
#
|
44
147
|
def verbatim content
|
45
|
-
ERB::Util.html_escape content
|
148
|
+
::ERB::Util.html_escape content
|
46
149
|
end
|
47
150
|
|
151
|
+
##
|
48
152
|
# Returns XHTML for a hyperlink to the given
|
49
153
|
# URL of the given label and mouse-hover title.
|
154
|
+
#
|
50
155
|
def hyperlink url, label = url, title = nil
|
51
156
|
%{<a href="#{url}"#{%{ title="#{title}"} if title}>#{label}</a>}
|
52
157
|
end
|
53
158
|
|
159
|
+
##
|
54
160
|
# Returns an <img/> tag that embeds the given image file.
|
55
161
|
#
|
56
|
-
# path
|
57
|
-
#
|
58
|
-
#
|
162
|
+
# [path]
|
163
|
+
# path to the image file
|
164
|
+
#
|
165
|
+
# [format]
|
166
|
+
# format of the image file (e.g. PNG, JPEG, GIF, etc.)
|
167
|
+
#
|
168
|
+
# [atts]
|
169
|
+
# additional attributes for the <img> tag
|
59
170
|
#
|
60
171
|
def embed_image_file path, format = path[/\w+/], atts = {}
|
61
172
|
data = ERBook.base_64_encode File.read(path)
|
62
173
|
embed_image_data data, format, atts
|
63
174
|
end
|
64
175
|
|
176
|
+
##
|
65
177
|
# Returns an <img/> tag that embeds the given raw image data.
|
66
178
|
#
|
67
|
-
# data
|
68
|
-
#
|
69
|
-
#
|
179
|
+
# [data]
|
180
|
+
# raw image data
|
181
|
+
#
|
182
|
+
# [format]
|
183
|
+
# format of the image file (e.g. PNG, JPEG, GIF, etc.)
|
184
|
+
#
|
185
|
+
# [atts]
|
186
|
+
# additional attributes for the <img> tag
|
70
187
|
#
|
71
188
|
def embed_image_data data, format, atts = {}
|
72
189
|
atts[:src] = ERBook.base_64_embed_image_data(data, format)
|
@@ -75,235 +192,176 @@ code: |
|
|
75
192
|
end
|
76
193
|
|
77
194
|
class Document::Node
|
195
|
+
##
|
78
196
|
# Returns the user-defined title for this node's content.
|
197
|
+
#
|
79
198
|
def title
|
80
199
|
@title ||= args[0]
|
81
200
|
end
|
82
201
|
|
202
|
+
##
|
83
203
|
# Returns the user-defined indentifer for this node.
|
204
|
+
#
|
84
205
|
def id
|
85
206
|
@id ||= args[1]
|
86
207
|
end
|
87
208
|
|
88
|
-
##
|
89
209
|
# utility methods
|
90
|
-
#
|
91
|
-
|
92
|
-
def type_label #:nodoc:
|
93
|
-
ERBook::PHRASES[type.to_s.capitalize]
|
94
|
-
end
|
95
|
-
|
96
|
-
# Returns the title of this node as XHTML.
|
97
|
-
def title_xhtml
|
98
|
-
title.to_s.to_inline_xhtml
|
99
|
-
end
|
100
|
-
|
101
|
-
# Returns the content of this node as XHTML.
|
102
|
-
def content_xhtml
|
103
|
-
content.to_s.to_xhtml
|
104
|
-
end
|
105
|
-
|
106
|
-
# Returns the content of this node as XHTML inside a <div/>.
|
107
|
-
def content_xhtml_div #:nodoc:
|
108
|
-
%{<div class="content">#{content_xhtml}</div>}
|
109
|
-
end
|
110
|
-
|
111
|
-
# Returns a hyperlink to this node containing its title.
|
112
|
-
def title_link title = nil
|
113
|
-
title || title_xhtml
|
114
|
-
end
|
115
210
|
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
index
|
120
|
-
end
|
121
|
-
|
122
|
-
# Returns a hyperlink to this node containing its occurrence number.
|
123
|
-
def number_link
|
124
|
-
[type_label, number].compact.join(' ')
|
125
|
-
end
|
126
|
-
|
127
|
-
# Returns a hyperlink to this node containing
|
128
|
-
# its ocurrence number and its title.
|
129
|
-
def number_and_title_link #:nodoc:
|
130
|
-
"#{number_link}. #{title_link}"
|
131
|
-
end
|
132
|
-
|
133
|
-
# Returns a hyperlink to this node containing
|
134
|
-
# its LaTeX-style index number and its title.
|
135
|
-
def index_and_title_link #:nodoc:
|
136
|
-
"#{index_link} #{title_link}"
|
137
|
-
end
|
138
|
-
|
139
|
-
# Returns a navigation menu relative to this node.
|
140
|
-
def navigation
|
141
|
-
self.class.navigation(
|
142
|
-
here_frag,
|
143
|
-
(list_frag if defn['toc'] || defn['lof']),
|
144
|
-
(prev_node.here_frag if prev_node),
|
145
|
-
(next_node.here_frag if next_node)
|
146
|
-
)
|
147
|
-
end
|
148
|
-
|
149
|
-
LIST_SIGN = '≡' # identical to
|
150
|
-
HERE_SIGN = '◎' # bullseye
|
151
|
-
PREV_SIGN = '△' # white up-pointing triangle
|
152
|
-
NEXT_SIGN = '▽' # white down-pointing triangle
|
211
|
+
def type_label #:nodoc:
|
212
|
+
ERBook::PHRASES[type.to_s.capitalize]
|
213
|
+
end
|
153
214
|
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
215
|
+
##
|
216
|
+
# Returns the title of this node as XHTML.
|
217
|
+
#
|
218
|
+
def title_xhtml
|
219
|
+
title.to_s.to_inline_xhtml
|
220
|
+
end
|
158
221
|
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
222
|
+
##
|
223
|
+
# Returns the content of this node as XHTML.
|
224
|
+
#
|
225
|
+
def content_xhtml
|
226
|
+
content.join.to_xhtml
|
227
|
+
end
|
163
228
|
|
164
|
-
|
229
|
+
##
|
230
|
+
# Returns the content of this node as XHTML inside a <div/>.
|
231
|
+
#
|
232
|
+
def content_xhtml_div #:nodoc:
|
233
|
+
%{<div class="content">#{content_xhtml}</div>}
|
234
|
+
end
|
165
235
|
|
166
|
-
|
236
|
+
##
|
237
|
+
# Returns a hyperlink to this node containing its title.
|
238
|
+
#
|
239
|
+
def title_link title = nil
|
240
|
+
title || title_xhtml
|
241
|
+
end
|
167
242
|
|
168
|
-
|
243
|
+
##
|
244
|
+
# Returns a hyperlink to this node
|
245
|
+
# containing its LaTeX-style index number.
|
246
|
+
#
|
247
|
+
def index_link
|
248
|
+
index
|
249
|
+
end
|
169
250
|
|
170
|
-
|
171
|
-
|
251
|
+
##
|
252
|
+
# Returns a hyperlink to this node containing its occurrence number.
|
253
|
+
#
|
254
|
+
def number_link
|
255
|
+
[type_label, number].compact.join(' ')
|
256
|
+
end
|
172
257
|
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
#
|
181
|
-
def xref_link label = nil
|
182
|
-
prefix = [type_label, index || number].compact.join(' ')
|
258
|
+
##
|
259
|
+
# Returns a hyperlink to this node containing
|
260
|
+
# its ocurrence number and its title.
|
261
|
+
#
|
262
|
+
def number_and_title_link #:nodoc:
|
263
|
+
"#{number_link}. #{title_link}"
|
264
|
+
end
|
183
265
|
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
266
|
+
##
|
267
|
+
# Returns a hyperlink to this node containing
|
268
|
+
# its LaTeX-style index number and its title.
|
269
|
+
#
|
270
|
+
def index_and_title_link #:nodoc:
|
271
|
+
"#{index_link} #{title_link}"
|
272
|
+
end
|
190
273
|
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
274
|
+
##
|
275
|
+
# Returns a navigation menu relative to this node.
|
276
|
+
#
|
277
|
+
def navigation
|
278
|
+
self.class.navigation(
|
279
|
+
here_frag,
|
280
|
+
(list_frag if defn['toc'] || defn['lof']),
|
281
|
+
(prev_node.here_frag if prev_node),
|
282
|
+
(next_node.here_frag if next_node)
|
283
|
+
)
|
284
|
+
end
|
197
285
|
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
286
|
+
HERE_TEXT = ERBook::PHRASES['Focus this segment']
|
287
|
+
PREV_TEXT = ERBook::PHRASES['Focus previous segment']
|
288
|
+
NEXT_TEXT = ERBook::PHRASES['Focus next segment']
|
289
|
+
LIST_TEXT = ERBook::PHRASES['Return to listing']
|
290
|
+
|
291
|
+
HERE_SIGN = ICON_BY_NAME['nav_here'].to_xhtml(:alt => '∗')
|
292
|
+
PREV_SIGN = ICON_BY_NAME['nav_prev'].to_xhtml(:alt => '↑')
|
293
|
+
NEXT_SIGN = ICON_BY_NAME['nav_next'].to_xhtml(:alt => '↓')
|
294
|
+
LIST_SIGN = ICON_BY_NAME['nav_list'].to_xhtml(:alt => '≡')
|
295
|
+
|
296
|
+
##
|
297
|
+
# Calculates a local navigation menu containing links
|
298
|
+
# to the given URI fragments (which can be nil).
|
299
|
+
#
|
300
|
+
def self.navigation here_frag, list_frag, prev_frag, next_frag
|
301
|
+
here_link = %{<a title="#{HERE_TEXT}" href="##{here_frag}">#{HERE_SIGN}</a>} if here_frag
|
302
|
+
prev_link = %{<a title="#{PREV_TEXT}" href="##{prev_frag}">#{PREV_SIGN}</a>} if prev_frag
|
303
|
+
next_link = %{<a title="#{NEXT_TEXT}" href="##{next_frag}">#{NEXT_SIGN}</a>} if next_frag
|
304
|
+
list_link = %{<a title="#{LIST_TEXT}" href="##{list_frag}">#{LIST_SIGN}</a>} if list_frag
|
305
|
+
|
306
|
+
%{<a name="#{here_frag}"/><div class="nav" id="#{here_frag}">#{here_link} #{prev_link} #{next_link} #{list_link}</div>}
|
307
|
+
end
|
202
308
|
|
309
|
+
##
|
310
|
+
# Returns a hyperlink to this node.
|
311
|
+
#
|
312
|
+
# [label]
|
313
|
+
# Optional label (may contain XHTML) for the hyperlink.
|
314
|
+
#
|
315
|
+
# If not specified, the title and designation of
|
316
|
+
# this node will be used as the label instead.
|
317
|
+
#
|
318
|
+
def xref_link label = nil
|
319
|
+
prefix = [type_label, index || number].compact.join(' ')
|
320
|
+
|
321
|
+
caption =
|
322
|
+
if type == 'reference'
|
323
|
+
prefix
|
324
|
+
else
|
325
|
+
[prefix, (%{"#{title}"} if label && title)].compact.join('. ')
|
326
|
+
end
|
327
|
+
|
328
|
+
label_xhtml = (label || title).to_s.to_inline_xhtml
|
329
|
+
|
330
|
+
%{<a class="xref" href="##{here_frag}" title="#{::ERB::Util.h caption}">#{label_xhtml}</a>}
|
331
|
+
end
|
203
332
|
|
204
|
-
##
|
205
333
|
# URI fragments
|
206
|
-
#
|
207
334
|
|
208
|
-
|
335
|
+
@@frags = []
|
209
336
|
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
337
|
+
##
|
338
|
+
# Returns a unique URI fragment for this node.
|
339
|
+
#
|
340
|
+
def here_frag #:nodoc:
|
341
|
+
unless defined? @here_frag
|
342
|
+
salt = object_id.abs
|
343
|
+
frag = (id || title || salt).to_s.to_uri_fragment
|
215
344
|
|
216
|
-
|
217
|
-
|
218
|
-
|
345
|
+
# make it unique
|
346
|
+
while @@frags.include? frag
|
347
|
+
frag << '-' << (index || number || salt).to_s
|
348
|
+
end
|
349
|
+
|
350
|
+
@@frags << frag
|
351
|
+
@here_frag = frag
|
219
352
|
end
|
220
353
|
|
221
|
-
|
222
|
-
@here_frag = frag
|
354
|
+
@here_frag
|
223
355
|
end
|
224
356
|
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
end
|
233
|
-
end
|
234
|
-
|
235
|
-
# Encodes the given input in base64 format.
|
236
|
-
def ERBook.base_64_encode input #:nodoc:
|
237
|
-
[input].pack('m')
|
238
|
-
end
|
239
|
-
|
240
|
-
# Returns a string denoting embedded, base64 encoded data.
|
241
|
-
def ERBook.base_64_embed data, format #:nodoc:
|
242
|
-
"data:#{format.to_s.downcase};base64,#{data.tr("\n", '')}"
|
243
|
-
end
|
244
|
-
|
245
|
-
# Returns a string denoting embedded, base64 encoded image data.
|
246
|
-
#
|
247
|
-
# format:: format of the image data (e.g. PNG, JPEG, GIF, etc.)
|
248
|
-
#
|
249
|
-
def ERBook.base_64_embed_image_data data, format #:nodoc:
|
250
|
-
base_64_embed data, "image/#{format}"
|
251
|
-
end
|
252
|
-
|
253
|
-
##
|
254
|
-
# admonition icons
|
255
|
-
#
|
256
|
-
|
257
|
-
ICONS_DIR = File.join(ERBook::FORMATS_DIR, 'xhtml.icons')
|
258
|
-
ICON_DEFS = YAML.load_file File.join(ICONS_DIR, 'index.yaml')
|
259
|
-
|
260
|
-
Icon = Struct.new(:origin, :path, :name, :format, :data)
|
261
|
-
class Icon #:nodoc:
|
262
|
-
# Returns a data URI containing embedded image data.
|
263
|
-
def data_uri
|
264
|
-
ERBook.base_64_embed_image_data self.data, self.format
|
265
|
-
end
|
266
|
-
|
267
|
-
# Returns a CSS url() containing embedded image data.
|
268
|
-
def data_css
|
269
|
-
%{url("#{data_uri}")}
|
270
|
-
end
|
271
|
-
|
272
|
-
# Returns a XML entity reference (to this icon's
|
273
|
-
# embedded image data) ready for insertion into XML.
|
274
|
-
def entity_xml
|
275
|
-
"&#{entity_name};"
|
276
|
-
end
|
277
|
-
|
278
|
-
# Returns the name of the XML entity whose
|
279
|
-
# value contains embedded image data.
|
280
|
-
def entity_name
|
281
|
-
"icon_#{name}"
|
282
|
-
end
|
283
|
-
|
284
|
-
# Returns an <img/> tag that renders the image
|
285
|
-
# data embedded as an ENTITY in the html DOCTYPE.
|
286
|
-
def to_xhtml atts = {}
|
287
|
-
atts[:alt] ||= name
|
288
|
-
atts[:src] = entity_xml
|
289
|
-
atts[:class] = :icon
|
290
|
-
"<img#{atts.to_xml_atts}/>"
|
291
|
-
end
|
292
|
-
end
|
293
|
-
|
294
|
-
ICON_BY_NAME = {}
|
295
|
-
|
296
|
-
ICON_DEFS.each_pair do |name, path|
|
297
|
-
format = File.extname(path).sub('.', '')
|
298
|
-
origin = path[/^\w+/]
|
299
|
-
|
300
|
-
path = File.join(ICONS_DIR, path) # make the path absolute
|
301
|
-
data = base_64_encode File.open(path, 'rb') {|f| f.read }
|
302
|
-
|
303
|
-
ICON_BY_NAME[name] = Icon.new(origin, path, name, format, data)
|
357
|
+
##
|
358
|
+
# Returns the URI fragment for the location in the table
|
359
|
+
# of contents / list of figures that points this node.
|
360
|
+
#
|
361
|
+
def list_frag #:nodoc:
|
362
|
+
@list_frag ||= "rev:#{here_frag}"
|
363
|
+
end
|
304
364
|
end
|
305
|
-
|
306
|
-
ICONS = ICON_BY_NAME.values
|
307
365
|
end
|
308
366
|
|
309
367
|
|
@@ -317,6 +375,7 @@ nodes:
|
|
317
375
|
number: false
|
318
376
|
silent: false
|
319
377
|
inline: true
|
378
|
+
bypass: true
|
320
379
|
output: <%= @node.content_xhtml %>
|
321
380
|
|
322
381
|
# Structure
|
@@ -473,7 +532,7 @@ nodes:
|
|
473
532
|
<%=
|
474
533
|
query, label = @node.args
|
475
534
|
|
476
|
-
scope
|
535
|
+
scope = @nodes.select {|n| n.content }
|
477
536
|
target = scope.find {|n| n.id == query } || # id has 1st priority
|
478
537
|
scope.find {|n| n.title == query }
|
479
538
|
|
@@ -492,7 +551,6 @@ nodes:
|
|
492
551
|
index: false
|
493
552
|
number: true
|
494
553
|
silent: true
|
495
|
-
inline: true
|
496
554
|
|
497
555
|
cite:
|
498
556
|
toc: false
|
@@ -574,51 +632,43 @@ output: |
|
|
574
632
|
|
575
633
|
%{#{ERBook::Document::Node.navigation label, "rev:#{label}", nil, nil}<h2 class="title">#{label}</h2> <ol>#{nested}</ol>}
|
576
634
|
end
|
577
|
-
|
578
|
-
<?xml version="1.0" encoding="utf-8"?>
|
635
|
+
%><?xml version="1.0" encoding="utf-8"?>
|
579
636
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
580
637
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" [
|
581
|
-
|
638
|
+
%|ICONS.each |icon|
|
582
639
|
<!ENTITY <%= icon.entity_name %> "<%= icon.data_uri %>">
|
583
|
-
<% end %>
|
584
640
|
]>
|
585
641
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
586
642
|
<head>
|
587
|
-
<meta http-equiv="content-type" content="
|
643
|
+
<meta http-equiv="content-type" content="application/xhtml+xml; charset=utf-8"/>
|
588
644
|
<meta name="generator" content="<%= ERBook::DISPLAY %>"/>
|
589
645
|
|
590
|
-
|
646
|
+
% if $title
|
591
647
|
<title><%= $title.to_s.to_inline_xhtml %></title>
|
592
|
-
<% end %>
|
593
648
|
|
594
|
-
|
649
|
+
% if $authors
|
595
650
|
<meta name="author" content="<%= $authors.keys.join(', ') %>"/>
|
596
|
-
<% end %>
|
597
651
|
|
598
|
-
|
652
|
+
% if $date
|
599
653
|
<meta name="date" content="<%= $date %>"/>
|
600
|
-
<% end %>
|
601
654
|
|
602
|
-
|
603
|
-
|
655
|
+
% if $feeds
|
656
|
+
% $feeds.each_pair do |url, fmt|
|
604
657
|
<link rel="alternate" type="application/<%= fmt %>+xml" href="<%= url %>"/>
|
605
|
-
<% end %>
|
606
|
-
<% end %>
|
607
658
|
|
608
|
-
|
609
|
-
|
659
|
+
% require 'rainpress'
|
660
|
+
% @format['styles'].each do |style|
|
661
|
+
% style.each_pair do |media, code|
|
610
662
|
<style type="text/css" media="<%= media %>">
|
611
|
-
|
663
|
+
/*<![CDATA[*/<%~ Rainpress.compress(code) %>/*]]>*/
|
612
664
|
</style>
|
613
|
-
<% end %>
|
614
|
-
<% end %>
|
615
665
|
|
616
666
|
<style type="text/css" media="screen">
|
617
|
-
|
667
|
+
/*<![CDATA[*/
|
618
668
|
/* decorate external hyperlinks with a visual indicator */
|
619
669
|
a[href]:not([href^="#"])
|
620
670
|
{
|
621
|
-
background : <%= ICON_BY_NAME['
|
671
|
+
background : <%= ICON_BY_NAME['hyperlink'].data_css %>;
|
622
672
|
background-position : center right;
|
623
673
|
background-repeat : no-repeat;
|
624
674
|
padding-right : 13px;
|
@@ -633,8 +683,28 @@ output: |
|
|
633
683
|
padding-left : 65px;
|
634
684
|
min-height : 50px;
|
635
685
|
}
|
636
|
-
]]
|
686
|
+
/*]]>*/
|
637
687
|
</style>
|
688
|
+
|
689
|
+
<script type="text/javascript">
|
690
|
+
//<![CDATA[
|
691
|
+
%< File.join(SCRIPTS_DIR, 'jquery-1.3.2.min.js')
|
692
|
+
%< File.join(SCRIPTS_DIR, 'jquery.scrollTo-1.4.1-min.js')
|
693
|
+
%< File.join(SCRIPTS_DIR, 'jquery.localscroll-1.2.7-min.js')
|
694
|
+
|
695
|
+
$(document).ready(
|
696
|
+
function(){
|
697
|
+
$.localScroll({
|
698
|
+
// the default 1000 is too slow, and 500 is too fast
|
699
|
+
duration: 700,
|
700
|
+
|
701
|
+
// allow the CSS ':target' pseudo-selector to work properly
|
702
|
+
hash: true, onAfter: function(){ location = location; }
|
703
|
+
});
|
704
|
+
}
|
705
|
+
);
|
706
|
+
//]]>
|
707
|
+
</script>
|
638
708
|
</head>
|
639
709
|
<body>
|
640
710
|
<div id="body">
|
@@ -646,166 +716,168 @@ output: |
|
|
646
716
|
lof_sections,
|
647
717
|
(ERBook::PHRASES['References'] if references)
|
648
718
|
].flatten.compact
|
649
|
-
|
650
|
-
if nav.length > 1
|
651
719
|
%>
|
652
|
-
|
653
|
-
|
654
|
-
|
655
|
-
|
656
|
-
|
657
|
-
|
720
|
+
% if nav.length > 1
|
721
|
+
<div id="nav"><%=
|
722
|
+
nav.map do |section|
|
723
|
+
%{<a id="rev:#{ section }" href="##{ section }">#{ section }</a>}
|
724
|
+
end.join(' · ')
|
725
|
+
%></div>
|
658
726
|
|
659
727
|
<br style="display: none"/>
|
660
728
|
<hr style="display: none"/>
|
661
729
|
<br style="display: none"/>
|
662
730
|
|
663
|
-
|
731
|
+
|
732
|
+
%= node = @nodes_by_type['header_outside_above'].first and node.output
|
733
|
+
|
664
734
|
<div id="header">
|
665
|
-
|
666
|
-
|
667
|
-
|
668
|
-
|
669
|
-
|
670
|
-
|
671
|
-
|
672
|
-
|
673
|
-
|
674
|
-
|
675
|
-
|
676
|
-
|
677
|
-
|
678
|
-
|
679
|
-
|
680
|
-
|
681
|
-
|
682
|
-
|
683
|
-
|
684
|
-
|
685
|
-
|
686
|
-
|
687
|
-
|
688
|
-
|
689
|
-
|
690
|
-
|
691
|
-
|
692
|
-
|
693
|
-
|
694
|
-
<h3 class="date"><%= $date %></h3>
|
695
|
-
<% end %>
|
696
|
-
<% end %>
|
697
|
-
<%= node = @nodes_by_type['header_inside_below'].first and node.output %>
|
735
|
+
%= node = @nodes_by_type['header_inside_above'].first and node.output
|
736
|
+
|
737
|
+
% if header = @nodes_by_type['header'].first
|
738
|
+
<%= header.output %>
|
739
|
+
% else
|
740
|
+
% if $logo
|
741
|
+
<div class="logo"><%= $logo %></div>
|
742
|
+
|
743
|
+
% if $title
|
744
|
+
<h1 class="title"><%= $title.to_s.to_inline_xhtml %></h1>
|
745
|
+
|
746
|
+
% if $subtitle
|
747
|
+
<h2 class="subtitle"><%= $subtitle.to_s.to_inline_xhtml %></h2>
|
748
|
+
|
749
|
+
% if $authors
|
750
|
+
<h3 class="authors"><%=
|
751
|
+
$authors.map do |name, url|
|
752
|
+
if url
|
753
|
+
%{<a href="#{url}">#{name}</a>}
|
754
|
+
else
|
755
|
+
name
|
756
|
+
end
|
757
|
+
end.join(', ')
|
758
|
+
%></h3>
|
759
|
+
|
760
|
+
% if $date
|
761
|
+
<h3 class="date"><%= $date %></h3>
|
762
|
+
|
763
|
+
%= node = @nodes_by_type['header_inside_below'].first and node.output
|
698
764
|
</div>
|
699
|
-
<%= node = @nodes_by_type['header_outside_below'].first and node.output %>
|
700
765
|
|
701
|
-
|
766
|
+
%= node = @nodes_by_type['header_outside_below'].first and node.output
|
767
|
+
|
768
|
+
|
769
|
+
%= abstract.output if abstract
|
702
770
|
|
703
771
|
<br style="display: none"/>
|
704
772
|
<hr style="display: none"/>
|
705
773
|
<br style="display: none"/>
|
706
774
|
|
707
|
-
|
775
|
+
|
776
|
+
% unless toc.empty?
|
708
777
|
<div id="toc">
|
709
|
-
<%= ERBook::Document::Node.navigation
|
778
|
+
<%= ERBook::Document::Node.navigation \
|
779
|
+
'Contents', 'rev:Contents', nil, nil %>
|
710
780
|
<h1 class="title"><%= ERBook::PHRASES['Contents'] %></h1>
|
711
|
-
<ul>
|
712
|
-
<%= toc %>
|
713
|
-
|
714
|
-
<% if references %>
|
715
|
-
<li><a id="rev:References" href="#References"><%= ERBook::PHRASES['References'] %></a></li>
|
716
|
-
<% end %>
|
717
|
-
</ul>
|
781
|
+
<ul><%= toc %></ul>
|
718
782
|
</div>
|
719
|
-
<% end %>
|
720
783
|
|
721
|
-
|
784
|
+
% unless lof.empty?
|
722
785
|
<div id="lof"><%= lof %></div>
|
723
|
-
<% end %>
|
724
786
|
|
725
787
|
<br style="display: none"/>
|
726
788
|
<hr style="display: none"/>
|
727
789
|
<br style="display: none"/>
|
728
790
|
|
791
|
+
|
729
792
|
<div id="content"><%= @content %></div>
|
730
793
|
|
731
|
-
|
732
|
-
|
733
|
-
|
734
|
-
|
735
|
-
|
736
|
-
|
737
|
-
|
738
|
-
|
739
|
-
|
740
|
-
|
741
|
-
<% end %>
|
794
|
+
% if references
|
795
|
+
<div id="bib">
|
796
|
+
<%= ERBook::Document::Node.navigation \
|
797
|
+
'References', 'rev:References', nil, nil %>
|
798
|
+
<h1 class="title"><%= ERBook::PHRASES['References'] %></h1>
|
799
|
+
<ol>
|
800
|
+
% references.each do |n|
|
801
|
+
<li id="<%= n.here_frag %>"><%= n.content_xhtml %></li>
|
802
|
+
</ol>
|
803
|
+
</div>
|
742
804
|
|
743
805
|
<br style="display: none"/>
|
744
806
|
<hr style="display: none"/>
|
745
807
|
<br style="display: none"/>
|
746
808
|
|
747
|
-
<%= node = @nodes_by_type['footer_outside_above'].first and node.output %>
|
748
|
-
<div id="footer">
|
749
|
-
<%= node = @nodes_by_type['footer_inside_above'].first and node.output %>
|
750
|
-
<% if footer = @nodes_by_type['footer'].first %>
|
751
|
-
<%= footer.content.to_s.to_xhtml %>
|
752
|
-
<%
|
753
|
-
else
|
754
|
-
ERBook::PHRASES[
|
755
|
-
'Generated by %s on %s.',
|
756
|
-
%{<a href="#{ERBook::WEBSITE}">#{ERBook::DISPLAY}</a>},
|
757
|
-
Time.now
|
758
|
-
]
|
759
|
-
end
|
760
|
-
%>
|
761
|
-
|
762
|
-
<div id="footer-credits">
|
763
|
-
<%
|
764
|
-
icon_credits = 'The icons shown above are part of %s, which is copyright %s and is distributed under %s.'
|
765
|
-
%>
|
766
|
-
<p>
|
767
|
-
<% ICONS.select {|i| i.origin == 'tango' }.each do |icon| %>
|
768
|
-
<%= icon.to_xhtml %>
|
769
|
-
<% end %>
|
770
809
|
|
771
|
-
|
810
|
+
%= node = @nodes_by_type['footer_outside_above'].first and node.output
|
772
811
|
|
812
|
+
<div id="footer">
|
813
|
+
%= node = @nodes_by_type['footer_inside_above'].first and node.output
|
814
|
+
% if footer = @nodes_by_type['footer'].first
|
815
|
+
%= footer.content.to_s.to_xhtml
|
816
|
+
% else
|
773
817
|
<%=
|
774
818
|
ERBook::PHRASES[
|
775
|
-
|
819
|
+
'Generated by %s on %s.',
|
820
|
+
%{<a href="#{ERBook::WEBSITE}">#{ERBook::DISPLAY}</a>},
|
821
|
+
Time.now
|
822
|
+
]
|
823
|
+
%>
|
776
824
|
|
777
|
-
|
825
|
+
<div id="footer-credits">
|
826
|
+
<%
|
827
|
+
icon_credits = 'The icons shown above are part of %s, which is copyright %s and is distributed under %s.'
|
828
|
+
%>
|
829
|
+
<p>
|
830
|
+
% ICONS.select {|i| i.origin == 'tango' }.each do |icon|
|
831
|
+
%= icon.to_xhtml
|
778
832
|
|
779
|
-
|
833
|
+
<br/>
|
780
834
|
|
781
|
-
|
782
|
-
|
783
|
-
|
784
|
-
</p>
|
835
|
+
<%=
|
836
|
+
ERBook::PHRASES[
|
837
|
+
icon_credits,
|
785
838
|
|
786
|
-
|
787
|
-
<% ICONS.select {|i| i.origin == 'mediawiki' }.each do |icon| %>
|
788
|
-
<%= icon.to_xhtml %>
|
789
|
-
<% end %>
|
839
|
+
'<a href="http://tango.freedesktop.org/Tango_Icon_Library">Tango Icon Theme</a>',
|
790
840
|
|
791
|
-
|
841
|
+
'© 2005 <a href="http://tango.freedesktop.org">Tango Desktop Project</a>',
|
792
842
|
|
793
|
-
|
794
|
-
|
795
|
-
|
843
|
+
'<a href="http://creativecommons.org/licenses/by-sa/2.5/">Creative Commons Attribution-ShareAlike 2.5 License Agreement</a>'
|
844
|
+
]
|
845
|
+
%>
|
846
|
+
</p>
|
796
847
|
|
797
|
-
|
848
|
+
<p>
|
849
|
+
% ICONS.select {|i| i.origin == 'mediawiki' }.each do |icon|
|
850
|
+
%= icon.to_xhtml
|
798
851
|
|
799
|
-
|
852
|
+
<br/>
|
800
853
|
|
801
|
-
|
802
|
-
|
803
|
-
|
804
|
-
|
805
|
-
|
806
|
-
|
854
|
+
<%=
|
855
|
+
ERBook::PHRASES[
|
856
|
+
icon_credits,
|
857
|
+
|
858
|
+
'<a href="http://www.mediawiki.org/wiki/MediaWiki">MediaWiki</a>',
|
859
|
+
|
860
|
+
'© 2007 <a href="https://www.ohloh.net/projects/mediawiki/contributors">MediaWiki contributors</a>',
|
861
|
+
|
862
|
+
'<a href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html">GNU General Public License, version 2</a>'
|
863
|
+
]
|
864
|
+
%>
|
865
|
+
</p>
|
866
|
+
|
867
|
+
<p style="margin-top: 3em">
|
868
|
+
<a href="http://validator.w3.org/check?uri=referer"><img
|
869
|
+
src="http://www.w3.org/Icons/valid-xhtml10-blue"
|
870
|
+
alt="Valid XHTML 1.0 Transitional" height="31" width="88" /></a>
|
871
|
+
|
872
|
+
<a href="http://jigsaw.w3.org/css-validator/check/referer?profile=css3"><img
|
873
|
+
src="http://jigsaw.w3.org/css-validator/images/vcss-blue"
|
874
|
+
alt="Valid CSS!" height="31" width="88" /></a>
|
875
|
+
</p>
|
876
|
+
</div>
|
877
|
+
%= node = @nodes_by_type['footer_inside_below'].first and node.output
|
807
878
|
</div>
|
808
|
-
|
879
|
+
|
880
|
+
%= node = @nodes_by_type['footer_outside_below'].first and node.output
|
809
881
|
</div>
|
810
882
|
</body>
|
811
883
|
</html>
|
@@ -834,10 +906,11 @@ styles:
|
|
834
906
|
font-style : italic;
|
835
907
|
}
|
836
908
|
|
837
|
-
em
|
909
|
+
em,
|
910
|
+
strong,
|
911
|
+
dt
|
838
912
|
{
|
839
913
|
font-family : <%= @format['fonts']['serif'] %>;
|
840
|
-
font-size : 105%;
|
841
914
|
}
|
842
915
|
|
843
916
|
hr
|
@@ -856,15 +929,23 @@ styles:
|
|
856
929
|
font-size : 100%; /* appears like "size: small" otherwise */
|
857
930
|
}
|
858
931
|
|
932
|
+
/* output of the syntax coloring library */
|
933
|
+
code.para
|
934
|
+
{
|
935
|
+
white-space : pre;
|
936
|
+
}
|
937
|
+
|
859
938
|
/* hyperlinks */
|
860
939
|
a > img
|
861
940
|
{
|
862
941
|
border : none;
|
863
942
|
}
|
864
943
|
|
865
|
-
|
944
|
+
/* lists */
|
945
|
+
dt
|
866
946
|
{
|
867
|
-
|
947
|
+
margin-top : 1.5em;
|
948
|
+
font-weight : bolder;
|
868
949
|
}
|
869
950
|
|
870
951
|
/* headings */
|
@@ -946,7 +1027,6 @@ styles:
|
|
946
1027
|
border : 1px solid #bbb;
|
947
1028
|
vertical-align : top;
|
948
1029
|
background-color : #FFFFFF;
|
949
|
-
_background-color : #FFFFFF; /* for IE6 */
|
950
1030
|
}
|
951
1031
|
|
952
1032
|
th
|
@@ -960,6 +1040,25 @@ styles:
|
|
960
1040
|
text-align : center;
|
961
1041
|
}
|
962
1042
|
|
1043
|
+
#header > .title
|
1044
|
+
{
|
1045
|
+
font-size : 2.25em;
|
1046
|
+
}
|
1047
|
+
|
1048
|
+
#header > .subtitle
|
1049
|
+
{
|
1050
|
+
}
|
1051
|
+
|
1052
|
+
#header > .authors
|
1053
|
+
{
|
1054
|
+
margin-top : 1.625em;
|
1055
|
+
margin-bottom : -0.25em;
|
1056
|
+
}
|
1057
|
+
|
1058
|
+
#header > .date
|
1059
|
+
{
|
1060
|
+
}
|
1061
|
+
|
963
1062
|
.logo,
|
964
1063
|
.header_outside_above,
|
965
1064
|
#header,
|
@@ -1001,7 +1100,6 @@ styles:
|
|
1001
1100
|
{
|
1002
1101
|
padding-bottom : 1em;
|
1003
1102
|
border-left : thick solid #F5F5F5;
|
1004
|
-
_border-left : none; /* for IE6 */
|
1005
1103
|
}
|
1006
1104
|
|
1007
1105
|
#toc li ul:hover
|
@@ -1046,14 +1144,6 @@ styles:
|
|
1046
1144
|
margin-top : 0.25em;
|
1047
1145
|
}
|
1048
1146
|
|
1049
|
-
.part .title big,
|
1050
|
-
.chapter .title big
|
1051
|
-
{
|
1052
|
-
_display : block; /* for IE6 */
|
1053
|
-
_margin-top : 0.25em; /* for IE6 */
|
1054
|
-
_margin-bottom : 0.75em; /* for IE6 */
|
1055
|
-
}
|
1056
|
-
|
1057
1147
|
.paragraph > .title,
|
1058
1148
|
.tip > .title,
|
1059
1149
|
.note > .title,
|
@@ -1070,23 +1160,6 @@ styles:
|
|
1070
1160
|
margin-top : 2em;
|
1071
1161
|
}
|
1072
1162
|
|
1073
|
-
.paragraph .title,
|
1074
|
-
.tip .title,
|
1075
|
-
.note .title,
|
1076
|
-
.caution .title,
|
1077
|
-
.warning .title,
|
1078
|
-
.important .title,
|
1079
|
-
.figure .title,
|
1080
|
-
.table .title,
|
1081
|
-
.example .title,
|
1082
|
-
.equation .title,
|
1083
|
-
.procedure .title
|
1084
|
-
{
|
1085
|
-
_font-size : large; /* for IE6 */
|
1086
|
-
_font-weight : bold; /* large is not bold in IE6 */
|
1087
|
-
_margin-top : 2em; /* for IE6 */
|
1088
|
-
}
|
1089
|
-
|
1090
1163
|
.tip ,
|
1091
1164
|
.note ,
|
1092
1165
|
.caution ,
|
@@ -1112,7 +1185,7 @@ styles:
|
|
1112
1185
|
.equation .nav,
|
1113
1186
|
.procedure .nav
|
1114
1187
|
{
|
1115
|
-
margin-
|
1188
|
+
margin-right : -3em;
|
1116
1189
|
}
|
1117
1190
|
|
1118
1191
|
.tip > .content,
|
@@ -1139,46 +1212,24 @@ styles:
|
|
1139
1212
|
margin : 0 1em 1em 0; /* top right bottom left */
|
1140
1213
|
}
|
1141
1214
|
|
1142
|
-
.tip .content .icon,
|
1143
|
-
.note .content .icon,
|
1144
|
-
.caution .content .icon,
|
1145
|
-
.warning .content .icon,
|
1146
|
-
.important .content .icon
|
1147
|
-
{
|
1148
|
-
_display : none; /* IE6 cannot display embedded images */
|
1149
|
-
}
|
1150
|
-
|
1151
1215
|
.figure > .title
|
1152
1216
|
{
|
1153
1217
|
text-align : center;
|
1154
1218
|
}
|
1155
1219
|
|
1156
|
-
.figure .title
|
1157
|
-
{
|
1158
|
-
_text-align : center; /* for IE6 */
|
1159
|
-
}
|
1160
|
-
|
1161
1220
|
.figure > .content img
|
1162
1221
|
{
|
1163
1222
|
display : block;
|
1164
1223
|
margin : auto;
|
1165
1224
|
}
|
1166
1225
|
|
1167
|
-
.figure .content img
|
1168
|
-
{
|
1169
|
-
_display : block; /* for IE6 */
|
1170
|
-
_margin : auto; /* for IE6 */
|
1171
|
-
}
|
1172
|
-
|
1173
1226
|
- screen: |
|
1174
1227
|
/* general */
|
1175
1228
|
body
|
1176
1229
|
{
|
1177
1230
|
margin : 0;
|
1178
|
-
padding : 0;
|
1179
|
-
|
1180
|
-
padding-right : 10em; /* keep #body visually centered */
|
1181
|
-
background-color : #808080;
|
1231
|
+
padding : 0.5em;
|
1232
|
+
background-color : #FFFFFF;
|
1182
1233
|
}
|
1183
1234
|
|
1184
1235
|
/* the actual content of the <body> element */
|
@@ -1186,11 +1237,6 @@ styles:
|
|
1186
1237
|
{
|
1187
1238
|
margin : auto;
|
1188
1239
|
max-width : 38em;
|
1189
|
-
|
1190
|
-
background-color : #FFFFFF;
|
1191
|
-
border-left : 0.35em solid #696969;
|
1192
|
-
border-right : 0.35em solid #696969;
|
1193
|
-
padding : 2em;
|
1194
1240
|
}
|
1195
1241
|
|
1196
1242
|
/* source code */
|
@@ -1199,7 +1245,8 @@ styles:
|
|
1199
1245
|
background-color : #F0F8FF;
|
1200
1246
|
}
|
1201
1247
|
|
1202
|
-
pre
|
1248
|
+
pre,
|
1249
|
+
code.para
|
1203
1250
|
{
|
1204
1251
|
cursor : text;
|
1205
1252
|
line-height : normal;
|
@@ -1214,7 +1261,8 @@ styles:
|
|
1214
1261
|
}
|
1215
1262
|
|
1216
1263
|
/* output of the syntax coloring library */
|
1217
|
-
|
1264
|
+
code.para,
|
1265
|
+
pre.para
|
1218
1266
|
{
|
1219
1267
|
background-color : #FFFFE8;
|
1220
1268
|
border-color : #EEDD88;
|
@@ -1241,65 +1289,39 @@ styles:
|
|
1241
1289
|
color : #800080;
|
1242
1290
|
}
|
1243
1291
|
|
1244
|
-
#toc a:target
|
1245
|
-
#lof a:target
|
1246
|
-
#nav a:target
|
1292
|
+
#toc a:target,
|
1293
|
+
#lof a:target,
|
1294
|
+
#nav a:target
|
1247
1295
|
{
|
1248
|
-
|
1249
|
-
|
1250
|
-
|
1251
|
-
padding-
|
1296
|
+
background : <%= ICON_BY_NAME['here_frag'].data_css %>;
|
1297
|
+
background-position : center right;
|
1298
|
+
background-repeat : no-repeat;
|
1299
|
+
padding-right : 20px;
|
1252
1300
|
}
|
1253
1301
|
|
1254
1302
|
/* document structure */
|
1255
1303
|
/* mini navigation menu beside every block node */
|
1256
1304
|
.nav
|
1257
1305
|
{
|
1258
|
-
|
1259
|
-
|
1260
|
-
margin-left : -6.075em;
|
1261
|
-
|
1262
|
-
font-size : 1.9em;
|
1263
|
-
letter-spacing : 0.25em;
|
1264
|
-
text-align : center;
|
1265
|
-
|
1266
|
-
color : #696969; /* same colors to hide non-links */
|
1267
|
-
background-color : #696969;
|
1268
|
-
padding : 0.5em;
|
1269
|
-
margin-top : -0.5em;
|
1306
|
+
float : right;
|
1307
|
+
margin-top : -0.25em;
|
1270
1308
|
}
|
1271
1309
|
|
1272
|
-
.nav
|
1273
|
-
.nav:hover
|
1310
|
+
.nav > a > img
|
1274
1311
|
{
|
1275
|
-
|
1276
|
-
background-color : #333;
|
1312
|
+
border-top : thick solid #FFFFFF;
|
1277
1313
|
}
|
1278
1314
|
|
1279
|
-
.nav a:
|
1280
|
-
.nav a:visited
|
1315
|
+
.nav > a > img:hover
|
1281
1316
|
{
|
1282
|
-
|
1283
|
-
}
|
1284
|
-
|
1285
|
-
.nav a:hover,
|
1286
|
-
#nav a:target:after {
|
1287
|
-
color : #9ACD32;
|
1288
|
-
text-decoration : none;
|
1317
|
+
border-top : thick solid #FA8072;
|
1289
1318
|
}
|
1290
1319
|
|
1291
1320
|
/* global navigation menu at the top of the page */
|
1292
1321
|
#nav
|
1293
1322
|
{
|
1294
|
-
|
1295
|
-
|
1296
|
-
width : 8.5em;
|
1297
|
-
margin-left : -11.5em;
|
1298
|
-
}
|
1299
|
-
|
1300
|
-
#nav li
|
1301
|
-
{
|
1302
|
-
list-style-type : none;
|
1323
|
+
margin-bottom : 4em;
|
1324
|
+
text-align : center;
|
1303
1325
|
}
|
1304
1326
|
|
1305
1327
|
- print: |
|
@@ -1387,9 +1409,3 @@ styles:
|
|
1387
1409
|
{
|
1388
1410
|
padding-bottom : 0.5em;
|
1389
1411
|
}
|
1390
|
-
|
1391
|
-
.part .title big,
|
1392
|
-
.chapter .title big
|
1393
|
-
{
|
1394
|
-
_padding-bottom : 0.5em; /* for IE6 */
|
1395
|
-
}
|