Show More
@@ -0,0 +1,1 b'' | |||||
|
1 | define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/tokenizer","ace/mode/html_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/html"],function(a,b,c){"use strict";var d=a("../lib/oop"),e=a("./text").Mode,f=a("./javascript").Mode,g=a("./css").Mode,h=a("../tokenizer").Tokenizer,i=a("./html_highlight_rules").HtmlHighlightRules,j=a("./behaviour/xml").XmlBehaviour,k=a("./folding/html").FoldMode,l=function(){var a=new i;this.$tokenizer=new h(a.getRules()),this.$behaviour=new j,this.$embeds=a.getEmbeds(),this.createModeDelegates({"js-":f,"css-":g}),this.foldingRules=new k};d.inherits(l,e),function(){this.toggleCommentLines=function(a,b,c,d){return 0},this.getNextLineIndent=function(a,b,c){return this.$getIndent(b)},this.checkOutdent=function(a,b,c){return!1}}.call(l.prototype),b.Mode=l}),define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(a,b,c){"use strict";var d=a("../lib/oop"),e=a("./text").Mode,f=a("../tokenizer").Tokenizer,g=a("./javascript_highlight_rules").JavaScriptHighlightRules,h=a("./matching_brace_outdent").MatchingBraceOutdent,i=a("../range").Range,j=a("../worker/worker_client").WorkerClient,k=a("./behaviour/cstyle").CstyleBehaviour,l=a("./folding/cstyle").FoldMode,m=function(){this.$tokenizer=new f((new g).getRules()),this.$outdent=new h,this.$behaviour=new k,this.foldingRules=new l};d.inherits(m,e),function(){this.toggleCommentLines=function(a,b,c,d){var e=!0,f=/^(\s*)\/\//;for(var g=c;g<=d;g++)if(!f.test(b.getLine(g))){e=!1;break}if(e){var h=new i(0,0,0,0);for(var g=c;g<=d;g++){var j=b.getLine(g),k=j.match(f);h.start.row=g,h.end.row=g,h.end.column=k[0].length,b.replace(h,k[1])}}else b.indentRows(c,d,"//")},this.getNextLineIndent=function(a,b,c){var d=this.$getIndent(b),e=this.$tokenizer.getLineTokens(b,a),f=e.tokens,g=e.state;if(f.length&&f[f.length-1].type=="comment")return d;if(a=="start"||a=="regex_allowed"){var h=b.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);h&&(d+=c)}else if(a=="doc-start"){if(g=="start"||a=="regex_allowed")return"";var h=b.match(/^\s*(\/?)\*/);h&&(h[1]&&(d+=" "),d+="* ")}return d},this.checkOutdent=function(a,b,c){return this.$outdent.checkOutdent(b,c)},this.autoOutdent=function(a,b,c){this.$outdent.autoOutdent(b,c)},this.createWorker=function(a){var b=new j(["ace"],"worker-javascript.js","ace/mode/javascript_worker","JavaScriptWorker");return b.attachToDocument(a.getDocument()),b.on("jslint",function(b){var c=[];for(var d=0;d<b.data.length;d++){var e=b.data[d];e&&c.push({row:e.line-1,column:e.character-1,text:e.reason,type:"warning",lint:e})}a.setAnnotations(c)}),b.on("narcissus",function(b){a.setAnnotations([b.data])}),b.on("terminate",function(){a.clearAnnotations()}),b}}.call(m.prototype),b.Mode=m}),define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/unicode","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(a,b,c){"use strict";var d=a("../lib/oop"),e=a("../lib/lang"),f=a("../unicode"),g=a("./doc_comment_highlight_rules").DocCommentHighlightRules,h=a("./text_highlight_rules").TextHighlightRules,i=function(){var a=e.arrayToMap("Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document".split("|")),b=e.arrayToMap("break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|const|yield|import|get|set".split("|")),c="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield",d=e.arrayToMap("__parent__|__count__|escape|unescape|with|__proto__".split("|")),h=e.arrayToMap("const|let|var|function".split("|")),i=e.arrayToMap("null|Infinity|NaN|undefined".split("|")),j=e.arrayToMap("class|enum|extends|super|export|implements|private|public|interface|package|protected|static".split("|")),k="["+f.packages.L+"\\$_]["+f.packages.L+f.packages.Mn+f.packages.Mc+f.packages.Nd+f.packages.Pc+"\\$_]*\\b";this.$rules={start:[{token:"comment",regex:"\\/\\/.*$"},(new g).getStartRule("doc-start"),{token:"comment",merge:!0,regex:"\\/\\*",next:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",merge:!0,regex:'["].*\\\\$',next:"qqstring"},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"string",merge:!0,regex:"['].*\\\\$",next:"qstring"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:["keyword.definition","text","entity.name.function"],regex:"(function)(\\s+)("+k+")"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:"keyword",regex:"(?:"+c+")\\b",next:"regex_allowed"},{token:function(c){return a.hasOwnProperty(c)?"variable.language":d.hasOwnProperty(c)?"invalid.deprecated":h.hasOwnProperty(c)?"keyword.definition":b.hasOwnProperty(c)?"keyword":i.hasOwnProperty(c)?"constant.language":j.hasOwnProperty(c)?"invalid.illegal":c=="debugger"?"invalid.deprecated":"identifier"},regex:k},{token:"keyword.operator",regex:"!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)",next:"regex_allowed"},{token:"punctuation.operator",regex:"\\?|\\:|\\,|\\;|\\.",next:"regex_allowed"},{token:"paren.lparen",regex:"[[({]",next:"regex_allowed"},{token:"paren.rparen",regex:"[\\])}]"},{token:"keyword.operator",regex:"\\/=?",next:"regex_allowed"},{token:"comment",regex:"^#!.*$"},{token:"text",regex:"\\s+"}],regex_allowed:[{token:"comment",merge:!0,regex:"\\/\\*",next:"comment_regex_allowed"},{token:"comment",regex:"\\/\\/.*$"},{token:"string.regexp",regex:"\\/",next:"regex",merge:!0},{token:"text",regex:"\\s+"},{token:"empty",regex:"",next:"start"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)",next:"regex"},{token:"string.regexp",regex:"/\\w*",next:"start",merge:!0},{token:"string.regexp",regex:"[^\\\\/\\[]+",next:"regex",merge:!0},{token:"string.regexp.charachterclass",regex:"\\[",next:"regex_character_class",merge:!0},{token:"empty",regex:"",next:"start"}],regex_character_class:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)",next:"regex_character_class"},{token:"string.regexp.charachterclass",regex:"]",next:"regex",merge:!0},{token:"string.regexp.charachterclass",regex:"[^\\\\\\]]+",next:"regex_character_class",merge:!0},{token:"empty",regex:"",next:"start"}],comment_regex_allowed:[{token:"comment",regex:".*?\\*\\/",merge:!0,next:"regex_allowed"},{token:"comment",merge:!0,regex:".+"}],comment:[{token:"comment",regex:".*?\\*\\/",merge:!0,next:"start"},{token:"comment",merge:!0,regex:".+"}],qqstring:[{token:"string",regex:'(?:(?:\\\\.)|(?:[^"\\\\]))*?"',next:"start"},{token:"string",merge:!0,regex:".+"}],qstring:[{token:"string",regex:"(?:(?:\\\\.)|(?:[^'\\\\]))*?'",next:"start"},{token:"string",merge:!0,regex:".+"}]},this.embedRules(g,"doc-",[(new g).getEndRule("start")])};d.inherits(i,h),b.JavaScriptHighlightRules=i}),define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(a,b,c){"use strict";var d=a("../lib/oop"),e=a("./text_highlight_rules").TextHighlightRules,f=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc",merge:!0,regex:"\\s+"},{token:"comment.doc",merge:!0,regex:"TODO"},{token:"comment.doc",merge:!0,regex:"[^@\\*]+"},{token:"comment.doc",merge:!0,regex:"."}]}};d.inherits(f,e),function(){this.getStartRule=function(a){return{token:"comment.doc",merge:!0,regex:"\\/\\*(?=\\*)",next:a}},this.getEndRule=function(a){return{token:"comment.doc",merge:!0,regex:"\\*\\/",next:a}}}.call(f.prototype),b.DocCommentHighlightRules=f}),define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(a,b,c){"use strict";var d=a("../range").Range,e=function(){};((function(){this.checkOutdent=function(a,b){return/^\s+$/.test(a)?/^\s*\}/.test(b):!1},this.autoOutdent=function(a,b){var c=a.getLine(b),e=c.match(/^(\s*\})/);if(!e)return 0;var f=e[1].length,g=a.findMatchingBracket({row:b,column:f});if(!g||g.row==b)return 0;var h=this.$getIndent(a.getLine(g.row));a.replace(new d(b,0,b,f-1),h)},this.$getIndent=function(a){var b=a.match(/^(\s+)/);return b?b[1]:""}})).call(e.prototype),b.MatchingBraceOutdent=e}),define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(a,b,c){"use strict";var d=a("../lib/oop"),e=a("../lib/event_emitter").EventEmitter,f=function(b,d,e,f){this.changeListener=this.changeListener.bind(this);if(c.packaged){var g=this.$guessBasePath();this.$worker=new Worker(g+d)}else{var h=this.$normalizePath(a.nameToUrl("ace/worker/worker",null,"_"));this.$worker=new Worker(h);var i={};for(var j=0;j<b.length;j++){var k=b[j],l=this.$normalizePath(a.nameToUrl(k,null,"_").replace(/.js$/,""));i[k]=l}}this.$worker.postMessage({init:!0,tlns:i,module:e,classname:f}),this.callbackId=1,this.callbacks={};var m=this;this.$worker.onerror=function(a){throw window.console&&console.log&&console.log(a),a},this.$worker.onmessage=function(a){var b=a.data;switch(b.type){case"log":window.console&&console.log&&console.log(b.data);break;case"event":m._emit(b.name,{data:b.data});break;case"call":var c=m.callbacks[b.id];c&&(c(b.data),delete m.callbacks[b.id])}}};((function(){d.implement(this,e),this.$normalizePath=function(a){return a=a.replace(/^[a-z]+:\/\/[^\/]+\//,""),a=location.protocol+"//"+location.host+(a.charAt(0)=="/"?"":location.pathname.replace(/\/[^\/]*$/,""))+"/"+a.replace(/^[\/]+/,""),a},this.$guessBasePath=function(){if(a.aceBaseUrl)return a.aceBaseUrl;var b=document.getElementsByTagName("script");for(var c=0;c<b.length;c++){var d=b[c],e=d.getAttribute("data-ace-base");if(e)return e.replace(/\/*$/,"/");var f=d.src||d.getAttribute("src");if(!f)continue;var g=f.match(/^(?:(.*\/)ace\.js|(.*\/)ace(-uncompressed)?(-noconflict)?\.js)(?:\?|$)/);if(g)return g[1]||g[2]}return""},this.terminate=function(){this._emit("terminate",{}),this.$worker.terminate(),this.$worker=null,this.$doc.removeEventListener("change",this.changeListener),this.$doc=null},this.send=function(a,b){this.$worker.postMessage({command:a,args:b})},this.call=function(a,b,c){if(c){var d=this.callbackId++;this.callbacks[d]=c,b.push(d)}this.send(a,b)},this.emit=function(a,b){try{this.$worker.postMessage({event:a,data:{data:b.data}})}catch(c){}},this.attachToDocument=function(a){this.$doc&&this.terminate(),this.$doc=a,this.call("setValue",[a.getValue()]),a.on("change",this.changeListener)},this.changeListener=function(a){a.range={start:a.data.range.start,end:a.data.range.end},this.emit("change",a)}})).call(f.prototype),b.WorkerClient=f}),define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour"],function(a,b,c){"use strict";var d=a("../../lib/oop"),e=a("../behaviour").Behaviour,f=function(){this.add("braces","insertion",function(a,b,c,d,e){if(e=="{"){var f=c.getSelectionRange(),g=d.doc.getTextRange(f);return g!==""?{text:"{"+g+"}",selection:!1}:{text:"{}",selection:[1,1]}}if(e=="}"){var h=c.getCursorPosition(),i=d.doc.getLine(h.row),j=i.substring(h.column,h.column+1);if(j=="}"){var k=d.$findOpeningBracket("}",{column:h.column+1,row:h.row});if(k!==null)return{text:"",selection:[1,1]}}}else if(e=="\n"){var h=c.getCursorPosition(),i=d.doc.getLine(h.row),j=i.substring(h.column,h.column+1);if(j=="}"){var l=d.findMatchingBracket({row:h.row,column:h.column+1});if(!l)return null;var m=this.getNextLineIndent(a,i.substring(0,i.length-1),d.getTabString()),n=this.$getIndent(d.doc.getLine(l.row));return{text:"\n"+m+"\n"+n,selection:[1,m.length,1,m.length]}}}}),this.add("braces","deletion",function(a,b,c,d,e){var f=d.doc.getTextRange(e);if(!e.isMultiLine()&&f=="{"){var g=d.doc.getLine(e.start.row),h=g.substring(e.end.column,e.end.column+1);if(h=="}")return e.end.column++,e}}),this.add("parens","insertion",function(a,b,c,d,e){if(e=="("){var f=c.getSelectionRange(),g=d.doc.getTextRange(f);return g!==""?{text:"("+g+")",selection:!1}:{text:"()",selection:[1,1]}}if(e==")"){var h=c.getCursorPosition(),i=d.doc.getLine(h.row),j=i.substring(h.column,h.column+1);if(j==")"){var k=d.$findOpeningBracket(")",{column:h.column+1,row:h.row});if(k!==null)return{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(a,b,c,d,e){var f=d.doc.getTextRange(e);if(!e.isMultiLine()&&f=="("){var g=d.doc.getLine(e.start.row),h=g.substring(e.start.column+1,e.start.column+2);if(h==")")return e.end.column++,e}}),this.add("string_dquotes","insertion",function(a,b,c,d,e){if(e=='"'){var f=c.getSelectionRange(),g=d.doc.getTextRange(f);if(g!=="")return{text:'"'+g+'"',selection:!1};var h=c.getCursorPosition(),i=d.doc.getLine(h.row),j=i.substring(h.column-1,h.column);if(j=="\\")return null;var k=d.getTokens(f.start.row,f.start.row)[0].tokens,l=0,m,n=-1;for(var o=0;o<k.length;o++){m=k[o],m.type=="string"?n=-1:n<0&&(n=m.value.indexOf('"'));if(m.value.length+l>f.start.column)break;l+=k[o].value.length}if(!m||n<0&&m.type!=="comment"&&(m.type!=="string"||f.start.column!==m.value.length+l-1&&m.value.lastIndexOf('"')===m.value.length-1))return{text:'""',selection:[1,1]};if(m&&m.type==="string"){var p=i.substring(h.column,h.column+1);if(p=='"')return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(a,b,c,d,e){var f=d.doc.getTextRange(e);if(!e.isMultiLine()&&f=='"'){var g=d.doc.getLine(e.start.row),h=g.substring(e.start.column+1,e.start.column+2);if(h=='"')return e.end.column++,e}})};d.inherits(f,e),b.CstyleBehaviour=f}),define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(a,b,c){"use strict";var d=a("../../lib/oop"),e=a("../../range").Range,f=a("./fold_mode").FoldMode,g=b.FoldMode=function(){};d.inherits(g,f),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(a,b,c){var d=a.getLine(c),f=d.match(this.foldingStartMarker);if(f){var g=f.index;if(f[1])return this.openingBracketBlock(a,f[1],c,g);var h=a.getCommentFoldRange(c,g+f[0].length);return h.end.column-=2,h}if(b!=="markbeginend")return;var f=d.match(this.foldingStopMarker);if(f){var g=f.index+f[0].length;if(f[2]){var h=a.getCommentFoldRange(c,g);return h.end.column-=2,h}var i={row:c,column:g},j=a.$findOpeningBracket(f[1],i);if(!j)return;return j.column++,i.column--,e.fromPoints(j,i)}}}.call(g.prototype)}),define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(a,b,c){"use strict";var d=a("../../range").Range,e=b.FoldMode=function(){};((function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(a,b,c){var d=a.getLine(c);return this.foldingStartMarker.test(d)?"start":b=="markbeginend"&&this.foldingStopMarker&&this.foldingStopMarker.test(d)?"end":""},this.getFoldWidgetRange=function(a,b,c){return null},this.indentationBlock=function(a,b,c){var e=/^\s*/,f=b,g=b,h=a.getLine(b),i=c||h.length,j=h.match(e)[0].length,k=a.getLength();while(++b<k){h=a.getLine(b);var l=h.match(e)[0].length;if(l==h.length)continue;if(l<=j)break;g=b}if(g>f){var m=a.getLine(g).length;return new d(f,i,g,m)}},this.openingBracketBlock=function(a,b,c,e){var f={row:c,column:e+1},g=a.$findClosingBracket(b,f);if(!g)return;var h=a.foldWidgets[g.row];return h==null&&(h=this.getFoldWidget(a,g.row)),h=="start"&&(g.row--,g.column=a.getLine(g.row).length),d.fromPoints(f,g)}})).call(e.prototype)}),define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/folding/cstyle"],function(a,b,c){"use strict";var d=a("../lib/oop"),e=a("./text").Mode,f=a("../tokenizer").Tokenizer,g=a("./css_highlight_rules").CssHighlightRules,h=a("./matching_brace_outdent").MatchingBraceOutdent,i=a("../worker/worker_client").WorkerClient,j=a("./folding/cstyle").FoldMode,k=function(){this.$tokenizer=new f((new g).getRules(),"i"),this.$outdent=new h,this.foldingRules=new j};d.inherits(k,e),function(){this.foldingRules="cStyle",this.getNextLineIndent=function(a,b,c){var d=this.$getIndent(b),e=this.$tokenizer.getLineTokens(b,a).tokens;if(e.length&&e[e.length-1].type=="comment")return d;var f=b.match(/^.*\{\s*$/);return f&&(d+=c),d},this.checkOutdent=function(a,b,c){return this.$outdent.checkOutdent(b,c)},this.autoOutdent=function(a,b,c){this.$outdent.autoOutdent(b,c)},this.createWorker=function(a){var b=new i(["ace"],"worker-css.js","ace/mode/css_worker","Worker");return b.attachToDocument(a.getDocument()),b.on("csslint",function(b){var c=[];b.data.forEach(function(a){c.push({row:a.line-1,column:a.col-1,text:a.message,type:a.type,lint:a})}),a.setAnnotations(c)}),b}}.call(k.prototype),b.Mode=k}),define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(a,b,c){"use strict";var d=a("../lib/oop"),e=a("../lib/lang"),f=a("./text_highlight_rules").TextHighlightRules,g=function(){var a=e.arrayToMap("-moz-appearance|-moz-box-sizing|-webkit-box-sizing|-moz-outline-radius|-moz-transform|-webkit-transform|appearance|azimuth|background-attachment|background-color|background-image|background-origin|background-position|background-repeat|background|border-bottom-color|border-bottom-style|border-bottom-width|border-bottom|border-collapse|border-color|border-left-color|border-left-style|border-left-width|border-left|border-right-color|border-right-style|border-right-width|border-right|border-spacing|border-style|border-top-color|border-top-style|border-top-width|border-top|border-width|border|bottom|box-sizing|caption-side|clear|clip|color|content|counter-increment|counter-reset|cue-after|cue-before|cue|cursor|direction|display|elevation|empty-cells|float|font-family|font-size-adjust|font-size|font-stretch|font-style|font-variant|font-weight|font|height|left|letter-spacing|line-height|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|marker-offset|margin|marks|max-height|max-width|min-height|min-width|-moz-border-radius|opacity|orphans|outline-color|outline-offset|outline-radius|outline-style|outline-width|outline|overflow|overflow-x|overflow-y|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page|pause-after|pause-before|pause|pitch-range|pitch|play-during|pointer-events|position|quotes|resize|richness|right|size|speak-header|speak-numeral|speak-punctuation|speech-rate|speak|stress|table-layout|text-align|text-decoration|text-indent|text-shadow|text-transform|top|transform|unicode-bidi|vertical-align|visibility|voice-family|volume|white-space|widows|width|word-spacing|z-index".split("|")),b=e.arrayToMap("rgb|rgba|url|attr|counter|counters".split("|")),c=e.arrayToMap("absolute|all-scroll|always|armenian|auto|baseline|below|bidi-override|block|bold|bolder|border-box|both|bottom|break-all|break-word|capitalize|center|char|circle|cjk-ideographic|col-resize|collapse|content-box|crosshair|dashed|decimal-leading-zero|decimal|default|disabled|disc|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ellipsis|fixed|georgian|groove|hand|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|inactive|inherit|inline-block|inline|inset|inside|inter-ideograph|inter-word|italic|justify|katakana-iroha|katakana|keep-all|left|lighter|line-edge|line-through|line|list-item|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|medium|middle|move|n-resize|ne-resize|newspaper|no-drop|no-repeat|nw-resize|none|normal|not-allowed|nowrap|oblique|outset|outside|overline|pointer|progress|relative|repeat-x|repeat-y|repeat|right|ridge|row-resize|rtl|s-resize|scroll|se-resize|separate|small-caps|solid|square|static|strict|super|sw-resize|table-footer-group|table-header-group|tb-rl|text-bottom|text-top|text|thick|thin|top|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|zero".split("|")),d=e.arrayToMap("aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow".split("|")),f="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",g=[{token:"comment",merge:!0,regex:"\\/\\*",next:"ruleset_comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"constant.numeric",regex:f+"(?:em|ex|px|cm|mm|in|pt|pc|deg|rad|grad|ms|s|hz|khz|%)"},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:function(e){return a.hasOwnProperty(e.toLowerCase())?"support.type":b.hasOwnProperty(e.toLowerCase())?"support.function":c.hasOwnProperty(e.toLowerCase())?"support.constant":d.hasOwnProperty(e.toLowerCase())?"support.constant.color":"text"},regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"}],h=e.copyArray(g);h.unshift({token:"paren.rparen",regex:"\\}",next:"start"});var i=e.copyArray(g);i.unshift({token:"paren.rparen",regex:"\\}",next:"media"});var j=[{token:"comment",merge:!0,regex:".+"}],k=e.copyArray(j);k.unshift({token:"comment",regex:".*?\\*\\/",next:"start"});var l=e.copyArray(j);l.unshift({token:"comment",regex:".*?\\*\\/",next:"media"});var m=e.copyArray(j);m.unshift({token:"comment",regex:".*?\\*\\/",next:"ruleset"}),this.$rules={start:[{token:"comment",merge:!0,regex:"\\/\\*",next:"comment"},{token:"paren.lparen",regex:"\\{",next:"ruleset"},{token:"string",regex:"@.*?{",next:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"}],media:[{token:"comment",merge:!0,regex:"\\/\\*",next:"media_comment"},{token:"paren.lparen",regex:"\\{",next:"media_ruleset"},{token:"string",regex:"\\}",next:"start"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"}],comment:k,ruleset:h,ruleset_comment:m,media_ruleset:i,media_comment:l}};d.inherits(g,f),b.CssHighlightRules=g}),define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_util","ace/mode/text_highlight_rules"],function(a,b,c){"use strict";var d=a("../lib/oop"),e=a("./css_highlight_rules").CssHighlightRules,f=a("./javascript_highlight_rules").JavaScriptHighlightRules,g=a("./xml_util"),h=a("./text_highlight_rules").TextHighlightRules,i=function(){this.$rules={start:[{token:"text",merge:!0,regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:"xml_pe",regex:"<\\?.*?\\?>"},{token:"comment",merge:!0,regex:"<\\!--",next:"comment"},{token:"meta.tag",regex:"<(?=s*script\\b)",next:"script"},{token:"meta.tag",regex:"<(?=s*style\\b)",next:"css"},{token:"meta.tag",regex:"<\\/?",next:"tag"},{token:"text",regex:"\\s+"},{token:"text",regex:"[^<]+"}],cdata:[{token:"text",regex:"\\]\\]>",next:"start"},{token:"text",merge:!0,regex:"\\s+"},{token:"text",merge:!0,regex:".+"}],comment:[{token:"comment",regex:".*?-->",next:"start"},{token:"comment",merge:!0,regex:".+"}]},g.tag(this.$rules,"tag","start"),g.tag(this.$rules,"css","css-start"),g.tag(this.$rules,"script","js-start"),this.embedRules(f,"js-",[{token:"comment",regex:"\\/\\/.*(?=<\\/script>)",next:"tag"},{token:"meta.tag",regex:"<\\/(?=script)",next:"tag"}]),this.embedRules(e,"css-",[{token:"meta.tag",regex:"<\\/(?=style)",next:"tag"}])};d.inherits(i,h),b.HtmlHighlightRules=i}),define("ace/mode/xml_util",["require","exports","module","ace/lib/lang"],function(a,b,c){function g(a){return[{token:"string",regex:'".*?"'},{token:"string",merge:!0,regex:'["].*',next:a+"-qqstring"},{token:"string",regex:"'.*?'"},{token:"string",merge:!0,regex:"['].*",next:a+"-qstring"}]}function h(a,b){return[{token:"string",merge:!0,regex:".*?"+a,next:b},{token:"string",merge:!0,regex:".+"}]}"use strict";var d=a("../lib/lang"),e=d.arrayToMap("button|form|input|label|select|textarea".split("|")),f=d.arrayToMap("table|tbody|td|tfoot|th|tr".split("|"));b.tag=function(a,b,c){a[b]=[{token:"text",regex:"\\s+"},{token:function(a){return a==="a"?"meta.tag.anchor":a==="img"?"meta.tag.image":a==="script"?"meta.tag.script":a==="style"?"meta.tag.style":e.hasOwnProperty(a.toLowerCase())?"meta.tag.form":f.hasOwnProperty(a.toLowerCase())?"meta.tag.table":"meta.tag"},merge:!0,regex:"[-_a-zA-Z0-9:!]+",next:b+"embed-attribute-list"},{token:"empty",regex:"",next:b+"embed-attribute-list"}],a[b+"-qstring"]=h("'",b+"embed-attribute-list"),a[b+"-qqstring"]=h('"',b+"embed-attribute-list"),a[b+"embed-attribute-list"]=[{token:"meta.tag",merge:!0,regex:"/?>",next:c},{token:"keyword.operator",regex:"="},{token:"entity.other.attribute-name",regex:"[-_a-zA-Z0-9:]+"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"text",regex:"\\s+"}].concat(g(b))}}),define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle"],function(a,b,c){"use strict";var d=a("../../lib/oop"),e=a("../behaviour").Behaviour,f=a("./cstyle").CstyleBehaviour,g=function(){this.inherit(f,["string_dquotes"]),this.add("brackets","insertion",function(a,b,c,d,e){if(e=="<"){var f=c.getSelectionRange(),g=d.doc.getTextRange(f);return g!==""?!1:{text:"<>",selection:[1,1]}}if(e==">"){var h=c.getCursorPosition(),i=d.doc.getLine(h.row),j=i.substring(h.column,h.column+1);if(j==">")return{text:"",selection:[1,1]}}else if(e=="\n"){var h=c.getCursorPosition(),i=d.doc.getLine(h.row),k=i.substring(h.column,h.column+2);if(k=="</"){var l=this.$getIndent(d.doc.getLine(h.row))+d.getTabString(),m=this.$getIndent(d.doc.getLine(h.row));return{text:"\n"+l+"\n"+m,selection:[1,l.length,1,l.length]}}}})};d.inherits(g,e),b.XmlBehaviour=g}),define("ace/mode/folding/html",["require","exports","module","ace/lib/oop","ace/mode/folding/mixed","ace/mode/folding/xml","ace/mode/folding/cstyle"],function(a,b,c){"use strict";var d=a("../../lib/oop"),e=a("./mixed").FoldMode,f=a("./xml").FoldMode,g=a("./cstyle").FoldMode,h=b.FoldMode=function(){e.call(this,new f({area:1,base:1,br:1,col:1,command:1,embed:1,hr:1,img:1,input:1,keygen:1,link:1,meta:1,param:1,source:1,track:1,wbr:1,li:1,dt:1,dd:1,p:1,rt:1,rp:1,optgroup:1,option:1,colgroup:1,td:1,th:1}),{"js-":new g,"css-":new g})};d.inherits(h,e)}),define("ace/mode/folding/mixed",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(a,b,c){"use strict";var d=a("../../lib/oop"),e=a("./fold_mode").FoldMode,f=b.FoldMode=function(a,b){this.defaultMode=a,this.subModes=b};d.inherits(f,e),function(){this.$getMode=function(a){for(var b in this.subModes)if(a.indexOf(b)===0)return this.subModes[b];return null},this.$tryMode=function(a,b,c,d){var e=this.$getMode(a);return e?e.getFoldWidget(b,c,d):""},this.getFoldWidget=function(a,b,c){return this.$tryMode(a.getState(c-1),a,b,c)||this.$tryMode(a.getState(c),a,b,c)||this.defaultMode.getFoldWidget(a,b,c)},this.getFoldWidgetRange=function(a,b,c){var d=this.$getMode(a.getState(c-1));if(!d||!d.getFoldWidget(a,b,c))d=this.$getMode(a.getState(c));if(!d||!d.getFoldWidget(a,b,c))d=this.defaultMode;return d.getFoldWidgetRange(a,b,c)}}.call(f.prototype)}),define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/range","ace/mode/folding/fold_mode","ace/token_iterator"],function(a,b,c){"use strict";var d=a("../../lib/oop"),e=a("../../lib/lang"),f=a("../../range").Range,g=a("./fold_mode").FoldMode,h=a("../../token_iterator").TokenIterator,i=b.FoldMode=function(a){g.call(this),this.voidElements=a||{}};d.inherits(i,g),function(){this.getFoldWidget=function(a,b,c){var d=this._getFirstTagInLine(a,c);return d.closing?b=="markbeginend"?"end":"":!d.tagName||this.voidElements[d.tagName.toLowerCase()]?"":d.selfClosing?"":d.value.indexOf("/"+d.tagName)!==-1?"":"start"},this._getFirstTagInLine=function(a,b){var c=a.getTokens(b,b)[0].tokens,d="";for(var f=0;f<c.length;f++){var g=c[f];g.type.indexOf("meta.tag")===0?d+=g.value:d+=e.stringRepeat(" ",g.value.length)}return this._parseTag(d)},this.tagRe=/^(\s*)(<?(\/?)([-_a-zA-Z0-9:!]*)\s*(\/?)>?)/,this._parseTag=function(a){var b=this.tagRe.exec(a),c=this.tagRe.lastIndex||0;return this.tagRe.lastIndex=0,{value:a,match:b?b[2]:"",closing:b?!!b[3]:!1,selfClosing:b?!!b[5]||b[2]=="/>":!1,tagName:b?b[4]:"",column:b[1]?c+b[1].length:c}},this._readTagForward=function(a){var b=a.getCurrentToken();if(!b)return null;var c="",d;do if(b.type.indexOf("meta.tag")===0){if(!d)var d={row:a.getCurrentTokenRow(),column:a.getCurrentTokenColumn()};c+=b.value;if(c.indexOf(">")!==-1){var e=this._parseTag(c);return e.start=d,e.end={row:a.getCurrentTokenRow(),column:a.getCurrentTokenColumn()+b.value.length},a.stepForward(),e}}while(b=a.stepForward());return null},this._readTagBackward=function(a){var b=a.getCurrentToken();if(!b)return null;var c="",d;do if(b.type.indexOf("meta.tag")===0){d||(d={row:a.getCurrentTokenRow(),column:a.getCurrentTokenColumn()+b.value.length}),c=b.value+c;if(c.indexOf("<")!==-1){var e=this._parseTag(c);return e.end=d,e.start={row:a.getCurrentTokenRow(),column:a.getCurrentTokenColumn()},a.stepBackward(),e}}while(b=a.stepBackward());return null},this._pop=function(a,b){while(a.length){var c=a[a.length-1];if(!b||c.tagName==b.tagName)return a.pop();if(this.voidElements[b.tagName])return;if(this.voidElements[c.tagName]){a.pop();continue}return null}},this.getFoldWidgetRange=function(a,b,c){var d=this._getFirstTagInLine(a,c);if(!d.match)return null;var e=d.closing||d.selfClosing,g=[],i;if(!e){var j=new h(a,c,d.column),k={row:c,column:d.column+d.tagName.length+2};while(i=this._readTagForward(j)){if(i.selfClosing){if(!g.length)return i.start.column+=i.tagName.length+2,i.end.column-=2,f.fromPoints(i.start,i.end);continue}if(i.closing){this._pop(g,i);if(g.length==0)return f.fromPoints(k,i.start)}else g.push(i)}}else{var j=new h(a,c,d.column+d.match.length),l={row:c,column:d.column};while(i=this._readTagBackward(j)){if(i.selfClosing){if(!g.length)return i.start.column+=i.tagName.length+2,i.end.column-=2,f.fromPoints(i.start,i.end);continue}if(!i.closing){this._pop(g,i);if(g.length==0)return i.start.column+=i.tagName.length+2,f.fromPoints(i.start,l)}else g.push(i)}}}}.call(i.prototype)}),function(){window.require(["ace/ace"],function(a){window.ace||(window.ace={});for(var b in a)a.hasOwnProperty(b)&&(ace[b]=a[b])})}() No newline at end of file |
@@ -0,0 +1,1 b'' | |||||
|
1 | define("ace/mode/markdown",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript","ace/mode/xml","ace/mode/html","ace/tokenizer","ace/mode/markdown_highlight_rules"],function(a,b,c){"use strict";var d=a("../lib/oop"),e=a("./text").Mode,f=a("./javascript").Mode,g=a("./xml").Mode,h=a("./html").Mode,i=a("../tokenizer").Tokenizer,j=a("./markdown_highlight_rules").MarkdownHighlightRules,k=function(){var a=new j;this.$tokenizer=new i(a.getRules()),this.$embeds=a.getEmbeds(),this.createModeDelegates({"js-":f,"xml-":g,"html-":h})};d.inherits(k,e),function(){this.getNextLineIndent=function(a,b,c){if(a=="listblock"){var d=/^((?:.+)?)([-+*][ ]+)/.exec(b);return d?(new Array(d[1].length+1)).join(" ")+d[2]:""}return this.$getIndent(b)}}.call(k.prototype),b.Mode=k}),define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(a,b,c){"use strict";var d=a("../lib/oop"),e=a("./text").Mode,f=a("../tokenizer").Tokenizer,g=a("./javascript_highlight_rules").JavaScriptHighlightRules,h=a("./matching_brace_outdent").MatchingBraceOutdent,i=a("../range").Range,j=a("../worker/worker_client").WorkerClient,k=a("./behaviour/cstyle").CstyleBehaviour,l=a("./folding/cstyle").FoldMode,m=function(){this.$tokenizer=new f((new g).getRules()),this.$outdent=new h,this.$behaviour=new k,this.foldingRules=new l};d.inherits(m,e),function(){this.toggleCommentLines=function(a,b,c,d){var e=!0,f=/^(\s*)\/\//;for(var g=c;g<=d;g++)if(!f.test(b.getLine(g))){e=!1;break}if(e){var h=new i(0,0,0,0);for(var g=c;g<=d;g++){var j=b.getLine(g),k=j.match(f);h.start.row=g,h.end.row=g,h.end.column=k[0].length,b.replace(h,k[1])}}else b.indentRows(c,d,"//")},this.getNextLineIndent=function(a,b,c){var d=this.$getIndent(b),e=this.$tokenizer.getLineTokens(b,a),f=e.tokens,g=e.state;if(f.length&&f[f.length-1].type=="comment")return d;if(a=="start"||a=="regex_allowed"){var h=b.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);h&&(d+=c)}else if(a=="doc-start"){if(g=="start"||a=="regex_allowed")return"";var h=b.match(/^\s*(\/?)\*/);h&&(h[1]&&(d+=" "),d+="* ")}return d},this.checkOutdent=function(a,b,c){return this.$outdent.checkOutdent(b,c)},this.autoOutdent=function(a,b,c){this.$outdent.autoOutdent(b,c)},this.createWorker=function(a){var b=new j(["ace"],"worker-javascript.js","ace/mode/javascript_worker","JavaScriptWorker");return b.attachToDocument(a.getDocument()),b.on("jslint",function(b){var c=[];for(var d=0;d<b.data.length;d++){var e=b.data[d];e&&c.push({row:e.line-1,column:e.character-1,text:e.reason,type:"warning",lint:e})}a.setAnnotations(c)}),b.on("narcissus",function(b){a.setAnnotations([b.data])}),b.on("terminate",function(){a.clearAnnotations()}),b}}.call(m.prototype),b.Mode=m}),define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/unicode","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(a,b,c){"use strict";var d=a("../lib/oop"),e=a("../lib/lang"),f=a("../unicode"),g=a("./doc_comment_highlight_rules").DocCommentHighlightRules,h=a("./text_highlight_rules").TextHighlightRules,i=function(){var a=e.arrayToMap("Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document".split("|")),b=e.arrayToMap("break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|const|yield|import|get|set".split("|")),c="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield",d=e.arrayToMap("__parent__|__count__|escape|unescape|with|__proto__".split("|")),h=e.arrayToMap("const|let|var|function".split("|")),i=e.arrayToMap("null|Infinity|NaN|undefined".split("|")),j=e.arrayToMap("class|enum|extends|super|export|implements|private|public|interface|package|protected|static".split("|")),k="["+f.packages.L+"\\$_]["+f.packages.L+f.packages.Mn+f.packages.Mc+f.packages.Nd+f.packages.Pc+"\\$_]*\\b";this.$rules={start:[{token:"comment",regex:"\\/\\/.*$"},(new g).getStartRule("doc-start"),{token:"comment",merge:!0,regex:"\\/\\*",next:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",merge:!0,regex:'["].*\\\\$',next:"qqstring"},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"string",merge:!0,regex:"['].*\\\\$",next:"qstring"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:["keyword.definition","text","entity.name.function"],regex:"(function)(\\s+)("+k+")"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:"keyword",regex:"(?:"+c+")\\b",next:"regex_allowed"},{token:function(c){return a.hasOwnProperty(c)?"variable.language":d.hasOwnProperty(c)?"invalid.deprecated":h.hasOwnProperty(c)?"keyword.definition":b.hasOwnProperty(c)?"keyword":i.hasOwnProperty(c)?"constant.language":j.hasOwnProperty(c)?"invalid.illegal":c=="debugger"?"invalid.deprecated":"identifier"},regex:k},{token:"keyword.operator",regex:"!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)",next:"regex_allowed"},{token:"punctuation.operator",regex:"\\?|\\:|\\,|\\;|\\.",next:"regex_allowed"},{token:"paren.lparen",regex:"[[({]",next:"regex_allowed"},{token:"paren.rparen",regex:"[\\])}]"},{token:"keyword.operator",regex:"\\/=?",next:"regex_allowed"},{token:"comment",regex:"^#!.*$"},{token:"text",regex:"\\s+"}],regex_allowed:[{token:"comment",merge:!0,regex:"\\/\\*",next:"comment_regex_allowed"},{token:"comment",regex:"\\/\\/.*$"},{token:"string.regexp",regex:"\\/",next:"regex",merge:!0},{token:"text",regex:"\\s+"},{token:"empty",regex:"",next:"start"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)",next:"regex"},{token:"string.regexp",regex:"/\\w*",next:"start",merge:!0},{token:"string.regexp",regex:"[^\\\\/\\[]+",next:"regex",merge:!0},{token:"string.regexp.charachterclass",regex:"\\[",next:"regex_character_class",merge:!0},{token:"empty",regex:"",next:"start"}],regex_character_class:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)",next:"regex_character_class"},{token:"string.regexp.charachterclass",regex:"]",next:"regex",merge:!0},{token:"string.regexp.charachterclass",regex:"[^\\\\\\]]+",next:"regex_character_class",merge:!0},{token:"empty",regex:"",next:"start"}],comment_regex_allowed:[{token:"comment",regex:".*?\\*\\/",merge:!0,next:"regex_allowed"},{token:"comment",merge:!0,regex:".+"}],comment:[{token:"comment",regex:".*?\\*\\/",merge:!0,next:"start"},{token:"comment",merge:!0,regex:".+"}],qqstring:[{token:"string",regex:'(?:(?:\\\\.)|(?:[^"\\\\]))*?"',next:"start"},{token:"string",merge:!0,regex:".+"}],qstring:[{token:"string",regex:"(?:(?:\\\\.)|(?:[^'\\\\]))*?'",next:"start"},{token:"string",merge:!0,regex:".+"}]},this.embedRules(g,"doc-",[(new g).getEndRule("start")])};d.inherits(i,h),b.JavaScriptHighlightRules=i}),define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(a,b,c){"use strict";var d=a("../lib/oop"),e=a("./text_highlight_rules").TextHighlightRules,f=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc",merge:!0,regex:"\\s+"},{token:"comment.doc",merge:!0,regex:"TODO"},{token:"comment.doc",merge:!0,regex:"[^@\\*]+"},{token:"comment.doc",merge:!0,regex:"."}]}};d.inherits(f,e),function(){this.getStartRule=function(a){return{token:"comment.doc",merge:!0,regex:"\\/\\*(?=\\*)",next:a}},this.getEndRule=function(a){return{token:"comment.doc",merge:!0,regex:"\\*\\/",next:a}}}.call(f.prototype),b.DocCommentHighlightRules=f}),define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(a,b,c){"use strict";var d=a("../range").Range,e=function(){};((function(){this.checkOutdent=function(a,b){return/^\s+$/.test(a)?/^\s*\}/.test(b):!1},this.autoOutdent=function(a,b){var c=a.getLine(b),e=c.match(/^(\s*\})/);if(!e)return 0;var f=e[1].length,g=a.findMatchingBracket({row:b,column:f});if(!g||g.row==b)return 0;var h=this.$getIndent(a.getLine(g.row));a.replace(new d(b,0,b,f-1),h)},this.$getIndent=function(a){var b=a.match(/^(\s+)/);return b?b[1]:""}})).call(e.prototype),b.MatchingBraceOutdent=e}),define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(a,b,c){"use strict";var d=a("../lib/oop"),e=a("../lib/event_emitter").EventEmitter,f=function(b,d,e,f){this.changeListener=this.changeListener.bind(this);if(c.packaged){var g=this.$guessBasePath();this.$worker=new Worker(g+d)}else{var h=this.$normalizePath(a.nameToUrl("ace/worker/worker",null,"_"));this.$worker=new Worker(h);var i={};for(var j=0;j<b.length;j++){var k=b[j],l=this.$normalizePath(a.nameToUrl(k,null,"_").replace(/.js$/,""));i[k]=l}}this.$worker.postMessage({init:!0,tlns:i,module:e,classname:f}),this.callbackId=1,this.callbacks={};var m=this;this.$worker.onerror=function(a){throw window.console&&console.log&&console.log(a),a},this.$worker.onmessage=function(a){var b=a.data;switch(b.type){case"log":window.console&&console.log&&console.log(b.data);break;case"event":m._emit(b.name,{data:b.data});break;case"call":var c=m.callbacks[b.id];c&&(c(b.data),delete m.callbacks[b.id])}}};((function(){d.implement(this,e),this.$normalizePath=function(a){return a=a.replace(/^[a-z]+:\/\/[^\/]+\//,""),a=location.protocol+"//"+location.host+(a.charAt(0)=="/"?"":location.pathname.replace(/\/[^\/]*$/,""))+"/"+a.replace(/^[\/]+/,""),a},this.$guessBasePath=function(){if(a.aceBaseUrl)return a.aceBaseUrl;var b=document.getElementsByTagName("script");for(var c=0;c<b.length;c++){var d=b[c],e=d.getAttribute("data-ace-base");if(e)return e.replace(/\/*$/,"/");var f=d.src||d.getAttribute("src");if(!f)continue;var g=f.match(/^(?:(.*\/)ace\.js|(.*\/)ace(-uncompressed)?(-noconflict)?\.js)(?:\?|$)/);if(g)return g[1]||g[2]}return""},this.terminate=function(){this._emit("terminate",{}),this.$worker.terminate(),this.$worker=null,this.$doc.removeEventListener("change",this.changeListener),this.$doc=null},this.send=function(a,b){this.$worker.postMessage({command:a,args:b})},this.call=function(a,b,c){if(c){var d=this.callbackId++;this.callbacks[d]=c,b.push(d)}this.send(a,b)},this.emit=function(a,b){try{this.$worker.postMessage({event:a,data:{data:b.data}})}catch(c){}},this.attachToDocument=function(a){this.$doc&&this.terminate(),this.$doc=a,this.call("setValue",[a.getValue()]),a.on("change",this.changeListener)},this.changeListener=function(a){a.range={start:a.data.range.start,end:a.data.range.end},this.emit("change",a)}})).call(f.prototype),b.WorkerClient=f}),define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour"],function(a,b,c){"use strict";var d=a("../../lib/oop"),e=a("../behaviour").Behaviour,f=function(){this.add("braces","insertion",function(a,b,c,d,e){if(e=="{"){var f=c.getSelectionRange(),g=d.doc.getTextRange(f);return g!==""?{text:"{"+g+"}",selection:!1}:{text:"{}",selection:[1,1]}}if(e=="}"){var h=c.getCursorPosition(),i=d.doc.getLine(h.row),j=i.substring(h.column,h.column+1);if(j=="}"){var k=d.$findOpeningBracket("}",{column:h.column+1,row:h.row});if(k!==null)return{text:"",selection:[1,1]}}}else if(e=="\n"){var h=c.getCursorPosition(),i=d.doc.getLine(h.row),j=i.substring(h.column,h.column+1);if(j=="}"){var l=d.findMatchingBracket({row:h.row,column:h.column+1});if(!l)return null;var m=this.getNextLineIndent(a,i.substring(0,i.length-1),d.getTabString()),n=this.$getIndent(d.doc.getLine(l.row));return{text:"\n"+m+"\n"+n,selection:[1,m.length,1,m.length]}}}}),this.add("braces","deletion",function(a,b,c,d,e){var f=d.doc.getTextRange(e);if(!e.isMultiLine()&&f=="{"){var g=d.doc.getLine(e.start.row),h=g.substring(e.end.column,e.end.column+1);if(h=="}")return e.end.column++,e}}),this.add("parens","insertion",function(a,b,c,d,e){if(e=="("){var f=c.getSelectionRange(),g=d.doc.getTextRange(f);return g!==""?{text:"("+g+")",selection:!1}:{text:"()",selection:[1,1]}}if(e==")"){var h=c.getCursorPosition(),i=d.doc.getLine(h.row),j=i.substring(h.column,h.column+1);if(j==")"){var k=d.$findOpeningBracket(")",{column:h.column+1,row:h.row});if(k!==null)return{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(a,b,c,d,e){var f=d.doc.getTextRange(e);if(!e.isMultiLine()&&f=="("){var g=d.doc.getLine(e.start.row),h=g.substring(e.start.column+1,e.start.column+2);if(h==")")return e.end.column++,e}}),this.add("string_dquotes","insertion",function(a,b,c,d,e){if(e=='"'){var f=c.getSelectionRange(),g=d.doc.getTextRange(f);if(g!=="")return{text:'"'+g+'"',selection:!1};var h=c.getCursorPosition(),i=d.doc.getLine(h.row),j=i.substring(h.column-1,h.column);if(j=="\\")return null;var k=d.getTokens(f.start.row,f.start.row)[0].tokens,l=0,m,n=-1;for(var o=0;o<k.length;o++){m=k[o],m.type=="string"?n=-1:n<0&&(n=m.value.indexOf('"'));if(m.value.length+l>f.start.column)break;l+=k[o].value.length}if(!m||n<0&&m.type!=="comment"&&(m.type!=="string"||f.start.column!==m.value.length+l-1&&m.value.lastIndexOf('"')===m.value.length-1))return{text:'""',selection:[1,1]};if(m&&m.type==="string"){var p=i.substring(h.column,h.column+1);if(p=='"')return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(a,b,c,d,e){var f=d.doc.getTextRange(e);if(!e.isMultiLine()&&f=='"'){var g=d.doc.getLine(e.start.row),h=g.substring(e.start.column+1,e.start.column+2);if(h=='"')return e.end.column++,e}})};d.inherits(f,e),b.CstyleBehaviour=f}),define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(a,b,c){"use strict";var d=a("../../lib/oop"),e=a("../../range").Range,f=a("./fold_mode").FoldMode,g=b.FoldMode=function(){};d.inherits(g,f),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(a,b,c){var d=a.getLine(c),f=d.match(this.foldingStartMarker);if(f){var g=f.index;if(f[1])return this.openingBracketBlock(a,f[1],c,g);var h=a.getCommentFoldRange(c,g+f[0].length);return h.end.column-=2,h}if(b!=="markbeginend")return;var f=d.match(this.foldingStopMarker);if(f){var g=f.index+f[0].length;if(f[2]){var h=a.getCommentFoldRange(c,g);return h.end.column-=2,h}var i={row:c,column:g},j=a.$findOpeningBracket(f[1],i);if(!j)return;return j.column++,i.column--,e.fromPoints(j,i)}}}.call(g.prototype)}),define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(a,b,c){"use strict";var d=a("../../range").Range,e=b.FoldMode=function(){};((function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(a,b,c){var d=a.getLine(c);return this.foldingStartMarker.test(d)?"start":b=="markbeginend"&&this.foldingStopMarker&&this.foldingStopMarker.test(d)?"end":""},this.getFoldWidgetRange=function(a,b,c){return null},this.indentationBlock=function(a,b,c){var e=/^\s*/,f=b,g=b,h=a.getLine(b),i=c||h.length,j=h.match(e)[0].length,k=a.getLength();while(++b<k){h=a.getLine(b);var l=h.match(e)[0].length;if(l==h.length)continue;if(l<=j)break;g=b}if(g>f){var m=a.getLine(g).length;return new d(f,i,g,m)}},this.openingBracketBlock=function(a,b,c,e){var f={row:c,column:e+1},g=a.$findClosingBracket(b,f);if(!g)return;var h=a.foldWidgets[g.row];return h==null&&(h=this.getFoldWidget(a,g.row)),h=="start"&&(g.row--,g.column=a.getLine(g.row).length),d.fromPoints(f,g)}})).call(e.prototype)}),define("ace/mode/xml",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/xml_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/xml"],function(a,b,c){"use strict";var d=a("../lib/oop"),e=a("./text").Mode,f=a("../tokenizer").Tokenizer,g=a("./xml_highlight_rules").XmlHighlightRules,h=a("./behaviour/xml").XmlBehaviour,i=a("./folding/xml").FoldMode,j=function(){this.$tokenizer=new f((new g).getRules()),this.$behaviour=new h,this.foldingRules=new i};d.inherits(j,e),function(){this.getNextLineIndent=function(a,b,c){return this.$getIndent(b)}}.call(j.prototype),b.Mode=j}),define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/xml_util","ace/mode/text_highlight_rules"],function(a,b,c){"use strict";var d=a("../lib/oop"),e=a("./xml_util"),f=a("./text_highlight_rules").TextHighlightRules,g=function(){this.$rules={start:[{token:"text",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:"xml_pe",regex:"<\\?.*?\\?>"},{token:"comment",merge:!0,regex:"<\\!--",next:"comment"},{token:"meta.tag",regex:"<\\/?",next:"tag"},{token:"text",regex:"\\s+"},{token:"text",regex:"[^<]+"}],cdata:[{token:"text",regex:"\\]\\]>",next:"start"},{token:"text",regex:"\\s+"},{token:"text",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment",regex:".*?-->",next:"start"},{token:"comment",merge:!0,regex:".+"}]},e.tag(this.$rules,"tag","start")};d.inherits(g,f),b.XmlHighlightRules=g}),define("ace/mode/xml_util",["require","exports","module","ace/lib/lang"],function(a,b,c){function g(a){return[{token:"string",regex:'".*?"'},{token:"string",merge:!0,regex:'["].*',next:a+"-qqstring"},{token:"string",regex:"'.*?'"},{token:"string",merge:!0,regex:"['].*",next:a+"-qstring"}]}function h(a,b){return[{token:"string",merge:!0,regex:".*?"+a,next:b},{token:"string",merge:!0,regex:".+"}]}"use strict";var d=a("../lib/lang"),e=d.arrayToMap("button|form|input|label|select|textarea".split("|")),f=d.arrayToMap("table|tbody|td|tfoot|th|tr".split("|"));b.tag=function(a,b,c){a[b]=[{token:"text",regex:"\\s+"},{token:function(a){return a==="a"?"meta.tag.anchor":a==="img"?"meta.tag.image":a==="script"?"meta.tag.script":a==="style"?"meta.tag.style":e.hasOwnProperty(a.toLowerCase())?"meta.tag.form":f.hasOwnProperty(a.toLowerCase())?"meta.tag.table":"meta.tag"},merge:!0,regex:"[-_a-zA-Z0-9:!]+",next:b+"embed-attribute-list"},{token:"empty",regex:"",next:b+"embed-attribute-list"}],a[b+"-qstring"]=h("'",b+"embed-attribute-list"),a[b+"-qqstring"]=h('"',b+"embed-attribute-list"),a[b+"embed-attribute-list"]=[{token:"meta.tag",merge:!0,regex:"/?>",next:c},{token:"keyword.operator",regex:"="},{token:"entity.other.attribute-name",regex:"[-_a-zA-Z0-9:]+"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"text",regex:"\\s+"}].concat(g(b))}}),define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle"],function(a,b,c){"use strict";var d=a("../../lib/oop"),e=a("../behaviour").Behaviour,f=a("./cstyle").CstyleBehaviour,g=function(){this.inherit(f,["string_dquotes"]),this.add("brackets","insertion",function(a,b,c,d,e){if(e=="<"){var f=c.getSelectionRange(),g=d.doc.getTextRange(f);return g!==""?!1:{text:"<>",selection:[1,1]}}if(e==">"){var h=c.getCursorPosition(),i=d.doc.getLine(h.row),j=i.substring(h.column,h.column+1);if(j==">")return{text:"",selection:[1,1]}}else if(e=="\n"){var h=c.getCursorPosition(),i=d.doc.getLine(h.row),k=i.substring(h.column,h.column+2);if(k=="</"){var l=this.$getIndent(d.doc.getLine(h.row))+d.getTabString(),m=this.$getIndent(d.doc.getLine(h.row));return{text:"\n"+l+"\n"+m,selection:[1,l.length,1,l.length]}}}})};d.inherits(g,e),b.XmlBehaviour=g}),define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/range","ace/mode/folding/fold_mode","ace/token_iterator"],function(a,b,c){"use strict";var d=a("../../lib/oop"),e=a("../../lib/lang"),f=a("../../range").Range,g=a("./fold_mode").FoldMode,h=a("../../token_iterator").TokenIterator,i=b.FoldMode=function(a){g.call(this),this.voidElements=a||{}};d.inherits(i,g),function(){this.getFoldWidget=function(a,b,c){var d=this._getFirstTagInLine(a,c);return d.closing?b=="markbeginend"?"end":"":!d.tagName||this.voidElements[d.tagName.toLowerCase()]?"":d.selfClosing?"":d.value.indexOf("/"+d.tagName)!==-1?"":"start"},this._getFirstTagInLine=function(a,b){var c=a.getTokens(b,b)[0].tokens,d="";for(var f=0;f<c.length;f++){var g=c[f];g.type.indexOf("meta.tag")===0?d+=g.value:d+=e.stringRepeat(" ",g.value.length)}return this._parseTag(d)},this.tagRe=/^(\s*)(<?(\/?)([-_a-zA-Z0-9:!]*)\s*(\/?)>?)/,this._parseTag=function(a){var b=this.tagRe.exec(a),c=this.tagRe.lastIndex||0;return this.tagRe.lastIndex=0,{value:a,match:b?b[2]:"",closing:b?!!b[3]:!1,selfClosing:b?!!b[5]||b[2]=="/>":!1,tagName:b?b[4]:"",column:b[1]?c+b[1].length:c}},this._readTagForward=function(a){var b=a.getCurrentToken();if(!b)return null;var c="",d;do if(b.type.indexOf("meta.tag")===0){if(!d)var d={row:a.getCurrentTokenRow(),column:a.getCurrentTokenColumn()};c+=b.value;if(c.indexOf(">")!==-1){var e=this._parseTag(c);return e.start=d,e.end={row:a.getCurrentTokenRow(),column:a.getCurrentTokenColumn()+b.value.length},a.stepForward(),e}}while(b=a.stepForward());return null},this._readTagBackward=function(a){var b=a.getCurrentToken();if(!b)return null;var c="",d;do if(b.type.indexOf("meta.tag")===0){d||(d={row:a.getCurrentTokenRow(),column:a.getCurrentTokenColumn()+b.value.length}),c=b.value+c;if(c.indexOf("<")!==-1){var e=this._parseTag(c);return e.end=d,e.start={row:a.getCurrentTokenRow(),column:a.getCurrentTokenColumn()},a.stepBackward(),e}}while(b=a.stepBackward());return null},this._pop=function(a,b){while(a.length){var c=a[a.length-1];if(!b||c.tagName==b.tagName)return a.pop();if(this.voidElements[b.tagName])return;if(this.voidElements[c.tagName]){a.pop();continue}return null}},this.getFoldWidgetRange=function(a,b,c){var d=this._getFirstTagInLine(a,c);if(!d.match)return null;var e=d.closing||d.selfClosing,g=[],i;if(!e){var j=new h(a,c,d.column),k={row:c,column:d.column+d.tagName.length+2};while(i=this._readTagForward(j)){if(i.selfClosing){if(!g.length)return i.start.column+=i.tagName.length+2,i.end.column-=2,f.fromPoints(i.start,i.end);continue}if(i.closing){this._pop(g,i);if(g.length==0)return f.fromPoints(k,i.start)}else g.push(i)}}else{var j=new h(a,c,d.column+d.match.length),l={row:c,column:d.column};while(i=this._readTagBackward(j)){if(i.selfClosing){if(!g.length)return i.start.column+=i.tagName.length+2,i.end.column-=2,f.fromPoints(i.start,i.end);continue}if(!i.closing){this._pop(g,i);if(g.length==0)return i.start.column+=i.tagName.length+2,f.fromPoints(i.start,l)}else g.push(i)}}}}.call(i.prototype)}),define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/tokenizer","ace/mode/html_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/html"],function(a,b,c){"use strict";var d=a("../lib/oop"),e=a("./text").Mode,f=a("./javascript").Mode,g=a("./css").Mode,h=a("../tokenizer").Tokenizer,i=a("./html_highlight_rules").HtmlHighlightRules,j=a("./behaviour/xml").XmlBehaviour,k=a("./folding/html").FoldMode,l=function(){var a=new i;this.$tokenizer=new h(a.getRules()),this.$behaviour=new j,this.$embeds=a.getEmbeds(),this.createModeDelegates({"js-":f,"css-":g}),this.foldingRules=new k};d.inherits(l,e),function(){this.toggleCommentLines=function(a,b,c,d){return 0},this.getNextLineIndent=function(a,b,c){return this.$getIndent(b)},this.checkOutdent=function(a,b,c){return!1}}.call(l.prototype),b.Mode=l}),define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/folding/cstyle"],function(a,b,c){"use strict";var d=a("../lib/oop"),e=a("./text").Mode,f=a("../tokenizer").Tokenizer,g=a("./css_highlight_rules").CssHighlightRules,h=a("./matching_brace_outdent").MatchingBraceOutdent,i=a("../worker/worker_client").WorkerClient,j=a("./folding/cstyle").FoldMode,k=function(){this.$tokenizer=new f((new g).getRules(),"i"),this.$outdent=new h,this.foldingRules=new j};d.inherits(k,e),function(){this.foldingRules="cStyle",this.getNextLineIndent=function(a,b,c){var d=this.$getIndent(b),e=this.$tokenizer.getLineTokens(b,a).tokens;if(e.length&&e[e.length-1].type=="comment")return d;var f=b.match(/^.*\{\s*$/);return f&&(d+=c),d},this.checkOutdent=function(a,b,c){return this.$outdent.checkOutdent(b,c)},this.autoOutdent=function(a,b,c){this.$outdent.autoOutdent(b,c)},this.createWorker=function(a){var b=new i(["ace"],"worker-css.js","ace/mode/css_worker","Worker");return b.attachToDocument(a.getDocument()),b.on("csslint",function(b){var c=[];b.data.forEach(function(a){c.push({row:a.line-1,column:a.col-1,text:a.message,type:a.type,lint:a})}),a.setAnnotations(c)}),b}}.call(k.prototype),b.Mode=k}),define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(a,b,c){"use strict";var d=a("../lib/oop"),e=a("../lib/lang"),f=a("./text_highlight_rules").TextHighlightRules,g=function(){var a=e.arrayToMap("-moz-appearance|-moz-box-sizing|-webkit-box-sizing|-moz-outline-radius|-moz-transform|-webkit-transform|appearance|azimuth|background-attachment|background-color|background-image|background-origin|background-position|background-repeat|background|border-bottom-color|border-bottom-style|border-bottom-width|border-bottom|border-collapse|border-color|border-left-color|border-left-style|border-left-width|border-left|border-right-color|border-right-style|border-right-width|border-right|border-spacing|border-style|border-top-color|border-top-style|border-top-width|border-top|border-width|border|bottom|box-sizing|caption-side|clear|clip|color|content|counter-increment|counter-reset|cue-after|cue-before|cue|cursor|direction|display|elevation|empty-cells|float|font-family|font-size-adjust|font-size|font-stretch|font-style|font-variant|font-weight|font|height|left|letter-spacing|line-height|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|marker-offset|margin|marks|max-height|max-width|min-height|min-width|-moz-border-radius|opacity|orphans|outline-color|outline-offset|outline-radius|outline-style|outline-width|outline|overflow|overflow-x|overflow-y|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page|pause-after|pause-before|pause|pitch-range|pitch|play-during|pointer-events|position|quotes|resize|richness|right|size|speak-header|speak-numeral|speak-punctuation|speech-rate|speak|stress|table-layout|text-align|text-decoration|text-indent|text-shadow|text-transform|top|transform|unicode-bidi|vertical-align|visibility|voice-family|volume|white-space|widows|width|word-spacing|z-index".split("|")),b=e.arrayToMap("rgb|rgba|url|attr|counter|counters".split("|")),c=e.arrayToMap("absolute|all-scroll|always|armenian|auto|baseline|below|bidi-override|block|bold|bolder|border-box|both|bottom|break-all|break-word|capitalize|center|char|circle|cjk-ideographic|col-resize|collapse|content-box|crosshair|dashed|decimal-leading-zero|decimal|default|disabled|disc|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ellipsis|fixed|georgian|groove|hand|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|inactive|inherit|inline-block|inline|inset|inside|inter-ideograph|inter-word|italic|justify|katakana-iroha|katakana|keep-all|left|lighter|line-edge|line-through|line|list-item|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|medium|middle|move|n-resize|ne-resize|newspaper|no-drop|no-repeat|nw-resize|none|normal|not-allowed|nowrap|oblique|outset|outside|overline|pointer|progress|relative|repeat-x|repeat-y|repeat|right|ridge|row-resize|rtl|s-resize|scroll|se-resize|separate|small-caps|solid|square|static|strict|super|sw-resize|table-footer-group|table-header-group|tb-rl|text-bottom|text-top|text|thick|thin|top|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|zero".split("|")),d=e.arrayToMap("aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow".split("|")),f="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",g=[{token:"comment",merge:!0,regex:"\\/\\*",next:"ruleset_comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"constant.numeric",regex:f+"(?:em|ex|px|cm|mm|in|pt|pc|deg|rad|grad|ms|s|hz|khz|%)"},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:function(e){return a.hasOwnProperty(e.toLowerCase())?"support.type":b.hasOwnProperty(e.toLowerCase())?"support.function":c.hasOwnProperty(e.toLowerCase())?"support.constant":d.hasOwnProperty(e.toLowerCase())?"support.constant.color":"text"},regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"}],h=e.copyArray(g);h.unshift({token:"paren.rparen",regex:"\\}",next:"start"});var i=e.copyArray(g);i.unshift({token:"paren.rparen",regex:"\\}",next:"media"});var j=[{token:"comment",merge:!0,regex:".+"}],k=e.copyArray(j);k.unshift({token:"comment",regex:".*?\\*\\/",next:"start"});var l=e.copyArray(j);l.unshift({token:"comment",regex:".*?\\*\\/",next:"media"});var m=e.copyArray(j);m.unshift({token:"comment",regex:".*?\\*\\/",next:"ruleset"}),this.$rules={start:[{token:"comment",merge:!0,regex:"\\/\\*",next:"comment"},{token:"paren.lparen",regex:"\\{",next:"ruleset"},{token:"string",regex:"@.*?{",next:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"}],media:[{token:"comment",merge:!0,regex:"\\/\\*",next:"media_comment"},{token:"paren.lparen",regex:"\\{",next:"media_ruleset"},{token:"string",regex:"\\}",next:"start"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"}],comment:k,ruleset:h,ruleset_comment:m,media_ruleset:i,media_comment:l}};d.inherits(g,f),b.CssHighlightRules=g}),define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_util","ace/mode/text_highlight_rules"],function(a,b,c){"use strict";var d=a("../lib/oop"),e=a("./css_highlight_rules").CssHighlightRules,f=a("./javascript_highlight_rules").JavaScriptHighlightRules,g=a("./xml_util"),h=a("./text_highlight_rules").TextHighlightRules,i=function(){this.$rules={start:[{token:"text",merge:!0,regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:"xml_pe",regex:"<\\?.*?\\?>"},{token:"comment",merge:!0,regex:"<\\!--",next:"comment"},{token:"meta.tag",regex:"<(?=s*script\\b)",next:"script"},{token:"meta.tag",regex:"<(?=s*style\\b)",next:"css"},{token:"meta.tag",regex:"<\\/?",next:"tag"},{token:"text",regex:"\\s+"},{token:"text",regex:"[^<]+"}],cdata:[{token:"text",regex:"\\]\\]>",next:"start"},{token:"text",merge:!0,regex:"\\s+"},{token:"text",merge:!0,regex:".+"}],comment:[{token:"comment",regex:".*?-->",next:"start"},{token:"comment",merge:!0,regex:".+"}]},g.tag(this.$rules,"tag","start"),g.tag(this.$rules,"css","css-start"),g.tag(this.$rules,"script","js-start"),this.embedRules(f,"js-",[{token:"comment",regex:"\\/\\/.*(?=<\\/script>)",next:"tag"},{token:"meta.tag",regex:"<\\/(?=script)",next:"tag"}]),this.embedRules(e,"css-",[{token:"meta.tag",regex:"<\\/(?=style)",next:"tag"}])};d.inherits(i,h),b.HtmlHighlightRules=i}),define("ace/mode/folding/html",["require","exports","module","ace/lib/oop","ace/mode/folding/mixed","ace/mode/folding/xml","ace/mode/folding/cstyle"],function(a,b,c){"use strict";var d=a("../../lib/oop"),e=a("./mixed").FoldMode,f=a("./xml").FoldMode,g=a("./cstyle").FoldMode,h=b.FoldMode=function(){e.call(this,new f({area:1,base:1,br:1,col:1,command:1,embed:1,hr:1,img:1,input:1,keygen:1,link:1,meta:1,param:1,source:1,track:1,wbr:1,li:1,dt:1,dd:1,p:1,rt:1,rp:1,optgroup:1,option:1,colgroup:1,td:1,th:1}),{"js-":new g,"css-":new g})};d.inherits(h,e)}),define("ace/mode/folding/mixed",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(a,b,c){"use strict";var d=a("../../lib/oop"),e=a("./fold_mode").FoldMode,f=b.FoldMode=function(a,b){this.defaultMode=a,this.subModes=b};d.inherits(f,e),function(){this.$getMode=function(a){for(var b in this.subModes)if(a.indexOf(b)===0)return this.subModes[b];return null},this.$tryMode=function(a,b,c,d){var e=this.$getMode(a);return e?e.getFoldWidget(b,c,d):""},this.getFoldWidget=function(a,b,c){return this.$tryMode(a.getState(c-1),a,b,c)||this.$tryMode(a.getState(c),a,b,c)||this.defaultMode.getFoldWidget(a,b,c)},this.getFoldWidgetRange=function(a,b,c){var d=this.$getMode(a.getState(c-1));if(!d||!d.getFoldWidget(a,b,c))d=this.$getMode(a.getState(c));if(!d||!d.getFoldWidget(a,b,c))d=this.defaultMode;return d.getFoldWidgetRange(a,b,c)}}.call(f.prototype)}),define("ace/mode/markdown_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules","ace/mode/html_highlight_rules","ace/mode/css_highlight_rules"],function(a,b,c){function j(a,b){return{token:"support.function",regex:"^```"+a+"\\s*$",next:b+"start"}}"use strict";var d=a("../lib/oop"),e=a("./text_highlight_rules").TextHighlightRules,f=a("./javascript_highlight_rules").JavaScriptHighlightRules,g=a("./xml_highlight_rules").XmlHighlightRules,h=a("./html_highlight_rules").HtmlHighlightRules,i=a("./css_highlight_rules").CssHighlightRules,k=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{token:"support.function",regex:"(`+)([^\\r]*?[^`])(\\1)"},{token:"support.function",regex:"^[ ]{4}.+"},{token:"markup.heading.1",regex:"^=+(?=\\s*$)"},{token:"markup.heading.1",regex:"^\\-+(?=\\s*$)"},{token:function(a){return"markup.heading."+a.length},regex:"^#{1,6}"},j("javascript","js-"),j("xml","xml-"),j("html","html-"),j("css","css-"),{token:"support.function",regex:"^```[a-zA-Z]+\\s*$",next:"githubblock"},{token:"string",regex:"^>[ ].+$",next:"blockquote"},{token:["text","constant","text","url","string","text"],regex:'^([ ]{0,3}\\[)([^\\]]+)(\\]:\\s*)([^ ]+)(\\s*(?:["][^"]+["])?\\s*)$'},{token:["text","string","text","constant","text"],regex:"(\\[)((?:[[^\\]]*\\]|[^\\[\\]])*)(\\][ ]?(?:\\n[ ]*)?\\[)(.*?)(\\])"},{token:["text","string","text","markup.underline","string","text"],regex:'(\\[)(\\[[^\\]]*\\]|[^\\[\\]]*)(\\]\\([ \\t]*)(<?(?:(?:[^\\(]*?\\([^\\)]*?\\)\\S*?)|(?:.*?))>?)((?:[ \t]*"(?:.*?)"[ \\t]*)?)(\\))'},{token:"constant",regex:"^[ ]{0,2}(?:[ ]?\\*[ ]?){3,}\\s*$"},{token:"constant",regex:"^[ ]{0,2}(?:[ ]?\\-[ ]?){3,}\\s*$"},{token:"constant",regex:"^[ ]{0,2}(?:[ ]?\\_[ ]?){3,}\\s*$"},{token:"markup.list",regex:"^\\s{0,3}(?:[*+-]|\\d+\\.)\\s+",next:"listblock"},{token:"string",regex:"([*]{2}|[_]{2}(?=\\S))([^\\r]*?\\S[*_]*)(\\1)"},{token:"string",regex:"([*]|[_](?=\\S))([^\\r]*?\\S[*_]*)(\\1)"},{token:["text","url","text"],regex:"(<)((?:https?|ftp|dict):[^'\">\\s]+|(?:mailto:)?[-.\\w]+\\@[-a-z0-9]+(?:\\.[-a-z0-9]+)*\\.[a-z]+)(>)"},{token:"text",regex:"[^\\*_%$`\\[#<>]+"}],listblock:[{token:"empty_line",regex:"^$",next:"start"},{token:"markup.list",regex:".+"}],blockquote:[{token:"empty_line",regex:"^\\s*$",next:"start"},{token:"string",regex:".+"}],githubblock:[{token:"support.function",regex:"^```",next:"start"},{token:"support.function",regex:".+"}]},this.embedRules(f,"js-",[{token:"support.function",regex:"^```",next:"start"}]),this.embedRules(h,"html-",[{token:"support.function",regex:"^```",next:"start"}]),this.embedRules(i,"css-",[{token:"support.function",regex:"^```",next:"start"}]),this.embedRules(g,"xml-",[{token:"support.function",regex:"^```",next:"start"}])};d.inherits(k,e),b.MarkdownHighlightRules=k}),function(){window.require(["ace/ace"],function(a){window.ace||(window.ace={});for(var b in a)a.hasOwnProperty(b)&&(ace[b]=a[b])})}() No newline at end of file |
@@ -1,99 +1,114 b'' | |||||
1 | //---------------------------------------------------------------------------- |
|
1 | //---------------------------------------------------------------------------- | |
2 | // Copyright (C) 2008-2011 The IPython Development Team |
|
2 | // Copyright (C) 2008-2011 The IPython Development Team | |
3 | // |
|
3 | // | |
4 | // Distributed under the terms of the BSD License. The full license is in |
|
4 | // Distributed under the terms of the BSD License. The full license is in | |
5 | // the file COPYING, distributed as part of this software. |
|
5 | // the file COPYING, distributed as part of this software. | |
6 | //---------------------------------------------------------------------------- |
|
6 | //---------------------------------------------------------------------------- | |
7 |
|
7 | |||
8 | //============================================================================ |
|
8 | //============================================================================ | |
9 | // MenuBar |
|
9 | // MenuBar | |
10 | //============================================================================ |
|
10 | //============================================================================ | |
11 |
|
11 | |||
12 | var IPython = (function (IPython) { |
|
12 | var IPython = (function (IPython) { | |
13 |
|
13 | |||
14 | var FullEditWidget = function (selector) { |
|
14 | var FullEditWidget = function (selector) { | |
15 | this.selector = selector; |
|
15 | this.selector = selector; | |
16 | this.opened = false; |
|
16 | this.opened = false; | |
17 | if (this.selector !== undefined) { |
|
17 | if (this.selector !== undefined) { | |
18 | this.element = $(selector); |
|
18 | this.element = $(selector); | |
19 | this.style(); |
|
19 | this.style(); | |
20 | this.bind_events(); |
|
20 | this.bind_events(); | |
21 | } |
|
21 | } | |
22 | }; |
|
22 | }; | |
23 |
|
23 | |||
24 |
|
24 | |||
25 | FullEditWidget.prototype.style = function () { |
|
25 | FullEditWidget.prototype.style = function () { | |
26 | var that = this; |
|
26 | var that = this; | |
27 | this.element.find('#close_fulledit').button().on('click', function (){ |
|
27 | this.element.find('#close_fulledit').button().on('click', function (){ | |
28 | that.close(); |
|
28 | that.close(); | |
29 | }) |
|
29 | }) | |
30 | this.element.find('#fulledit_header').addClass('ui-widget ui-widget-header'); |
|
30 | this.element.find('#fulledit_header').addClass('ui-widget ui-widget-header'); | |
31 | this.element.find('#fulledit_editor').addClass('ui-widget ui-widget-content'); |
|
31 | this.element.find('#fulledit_editor').addClass('ui-widget ui-widget-content'); | |
32 | this.ace_editor = ace.edit("fulledit_editor"); |
|
32 | this.ace_editor = ace.edit("fulledit_editor"); | |
33 | this.ace_editor.setTheme("ace/theme/textmate"); |
|
33 | this.ace_editor.setTheme("ace/theme/textmate"); | |
34 | var PythonMode = require("ace/mode/python").Mode; |
|
34 | var PythonMode = require("ace/mode/python").Mode; | |
35 | this.ace_editor.getSession().setMode(new PythonMode()); |
|
35 | this.ace_editor.getSession().setMode(new PythonMode()); | |
36 | this.ace_editor.getSession().setTabSize(4); |
|
36 | this.ace_editor.getSession().setTabSize(4); | |
37 | this.ace_editor.getSession().setUseSoftTabs(true); |
|
37 | this.ace_editor.getSession().setUseSoftTabs(true); | |
38 | this.ace_editor.setHighlightActiveLine(false); |
|
38 | this.ace_editor.setHighlightActiveLine(false); | |
39 | // Ace sets its css dynamically, so we need to do this here. These |
|
39 | // Ace sets its css dynamically, so we need to do this here. These | |
40 | // values are chosen to match those of our CodeMirror editors. |
|
40 | // values are chosen to match those of our CodeMirror editors. | |
41 | $('.ace_editor').css({fontFamily: 'monospace', fontSize: '110%', |
|
41 | $('.ace_editor').css({fontFamily: 'monospace', fontSize: '110%', | |
42 | lineHeight: '1.231'}); |
|
42 | lineHeight: '1.231'}); | |
43 | }; |
|
43 | }; | |
44 |
|
44 | |||
45 |
|
45 | |||
46 | FullEditWidget.prototype.bind_events = function () { |
|
46 | FullEditWidget.prototype.bind_events = function () { | |
47 |
|
47 | |||
48 | }; |
|
48 | }; | |
49 |
|
49 | |||
50 |
|
50 | |||
51 | FullEditWidget.prototype.open = function () { |
|
51 | FullEditWidget.prototype.open = function () { | |
52 | var cell = IPython.notebook.get_selected_cell(); |
|
52 | var cell = IPython.notebook.get_selected_cell(); | |
53 |
if (!this.opened |
|
53 | if (!this.opened) { | |
54 | $('#fulledit_widget').show(); |
|
54 | $('#fulledit_widget').show(); | |
55 | $('#main_app').hide(); |
|
55 | $('#main_app').hide(); | |
56 | $('#menubar').hide(); |
|
56 | $('#menubar').hide(); | |
57 | $('body').css({overflow : 'auto'}); |
|
57 | $('body').css({overflow : 'auto'}); | |
58 | var code = cell.get_text(); |
|
58 | var code = cell.get_text(); | |
59 | this.ace_editor.getSession().setValue(code); |
|
59 | this.ace_editor.getSession().setValue(code); | |
|
60 | if (cell instanceof IPython.CodeCell) { | |||
|
61 | var PythonMode = require("ace/mode/python").Mode; | |||
|
62 | this.ace_editor.getSession().setMode(new PythonMode()); | |||
|
63 | } else if (cell instanceof IPython.MarkdownCell) { | |||
|
64 | var MarkdownMode = require("ace/mode/markdown").Mode; | |||
|
65 | this.ace_editor.getSession().setMode(new MarkdownMode()); | |||
|
66 | } else if (cell instanceof IPython.HTMLCell) { | |||
|
67 | var HTMLMode = require("ace/mode/html").Mode; | |||
|
68 | this.ace_editor.getSession().setMode(new HTMLMode()); | |||
|
69 | }; | |||
60 | this.ace_editor.focus(); |
|
70 | this.ace_editor.focus(); | |
61 | // On Safari (and Chrome/FF on Linux) the editor doesn't get |
|
71 | // On Safari (and Chrome/FF on Linux) the editor doesn't get | |
62 | // focus unless there is a window resize. For now, we trigger it |
|
72 | // focus unless there is a window resize. For now, we trigger it | |
63 | // by hand until the bug is fixed upstream. |
|
73 | // by hand until the bug is fixed upstream. | |
64 | window.resizeBy(0,1); |
|
74 | window.resizeBy(0,1); | |
65 | window.resizeBy(0,-1); |
|
75 | window.resizeBy(0,-1); | |
66 | this.opened = true; |
|
76 | this.opened = true; | |
67 | }; |
|
77 | }; | |
68 | }; |
|
78 | }; | |
69 |
|
79 | |||
70 |
|
80 | |||
71 | FullEditWidget.prototype.close = function () { |
|
81 | FullEditWidget.prototype.close = function () { | |
72 | if (this.opened) { |
|
82 | if (this.opened) { | |
73 | $('#fulledit_widget').hide(); |
|
83 | $('#fulledit_widget').hide(); | |
74 | $('#main_app').show(); |
|
84 | $('#main_app').show(); | |
75 | $('#menubar').show(); |
|
85 | $('#menubar').show(); | |
76 | $('body').css({overflow : 'hidden'}); |
|
86 | $('body').css({overflow : 'hidden'}); | |
77 | var code = this.ace_editor.getSession().getValue(); |
|
87 | var code = this.ace_editor.getSession().getValue(); | |
78 | var cell = IPython.notebook.get_selected_cell(); |
|
88 | var cell = IPython.notebook.get_selected_cell(); | |
79 | cell.set_text(code); |
|
89 | if (cell instanceof IPython.CodeCell) { | |
80 |
cell.se |
|
90 | cell.set_text(code); | |
|
91 | } else if (cell instanceof IPython.MarkdownCell || cell instanceof IPython.HTMLCell) { | |||
|
92 | cell.edit(); | |||
|
93 | cell.code_mirror.focus(); | |||
|
94 | cell.set_text(code); | |||
|
95 | }; | |||
81 | this.opened = false; |
|
96 | this.opened = false; | |
82 | }; |
|
97 | }; | |
83 | }; |
|
98 | }; | |
84 |
|
99 | |||
85 |
|
100 | |||
86 | FullEditWidget.prototype.toggle = function () { |
|
101 | FullEditWidget.prototype.toggle = function () { | |
87 | if (this.opened) { |
|
102 | if (this.opened) { | |
88 | this.close(); |
|
103 | this.close(); | |
89 | } else { |
|
104 | } else { | |
90 | this.open(); |
|
105 | this.open(); | |
91 | }; |
|
106 | }; | |
92 | }; |
|
107 | }; | |
93 |
|
108 | |||
94 |
|
109 | |||
95 | IPython.FullEditWidget = FullEditWidget; |
|
110 | IPython.FullEditWidget = FullEditWidget; | |
96 |
|
111 | |||
97 | return IPython; |
|
112 | return IPython; | |
98 |
|
113 | |||
99 | }(IPython)); |
|
114 | }(IPython)); |
@@ -1,285 +1,287 b'' | |||||
1 | //---------------------------------------------------------------------------- |
|
1 | //---------------------------------------------------------------------------- | |
2 | // Copyright (C) 2008-2011 The IPython Development Team |
|
2 | // Copyright (C) 2008-2011 The IPython Development Team | |
3 | // |
|
3 | // | |
4 | // Distributed under the terms of the BSD License. The full license is in |
|
4 | // Distributed under the terms of the BSD License. The full license is in | |
5 | // the file COPYING, distributed as part of this software. |
|
5 | // the file COPYING, distributed as part of this software. | |
6 | //---------------------------------------------------------------------------- |
|
6 | //---------------------------------------------------------------------------- | |
7 |
|
7 | |||
8 | //============================================================================ |
|
8 | //============================================================================ | |
9 | // TextCell |
|
9 | // TextCell | |
10 | //============================================================================ |
|
10 | //============================================================================ | |
11 |
|
11 | |||
12 | var IPython = (function (IPython) { |
|
12 | var IPython = (function (IPython) { | |
13 |
|
13 | |||
14 | // TextCell base class |
|
14 | // TextCell base class | |
15 |
|
15 | |||
16 | var TextCell = function (notebook) { |
|
16 | var TextCell = function (notebook) { | |
17 | this.code_mirror_mode = this.code_mirror_mode || 'htmlmixed'; |
|
17 | this.code_mirror_mode = this.code_mirror_mode || 'htmlmixed'; | |
18 | IPython.Cell.apply(this, arguments); |
|
18 | IPython.Cell.apply(this, arguments); | |
19 | this.rendered = false; |
|
19 | this.rendered = false; | |
20 | this.cell_type = this.cell_type || 'text'; |
|
20 | this.cell_type = this.cell_type || 'text'; | |
21 | }; |
|
21 | }; | |
22 |
|
22 | |||
23 |
|
23 | |||
24 | TextCell.prototype = new IPython.Cell(); |
|
24 | TextCell.prototype = new IPython.Cell(); | |
25 |
|
25 | |||
26 |
|
26 | |||
27 | TextCell.prototype.create_element = function () { |
|
27 | TextCell.prototype.create_element = function () { | |
28 | var cell = $("<div>").addClass('cell text_cell border-box-sizing'); |
|
28 | var cell = $("<div>").addClass('cell text_cell border-box-sizing'); | |
29 | cell.attr('tabindex','2'); |
|
29 | cell.attr('tabindex','2'); | |
30 | var input_area = $('<div/>').addClass('text_cell_input border-box-sizing'); |
|
30 | var input_area = $('<div/>').addClass('text_cell_input border-box-sizing'); | |
31 | this.code_mirror = CodeMirror(input_area.get(0), { |
|
31 | this.code_mirror = CodeMirror(input_area.get(0), { | |
32 | indentUnit : 4, |
|
32 | indentUnit : 4, | |
33 | mode: this.code_mirror_mode, |
|
33 | mode: this.code_mirror_mode, | |
34 | theme: 'default', |
|
34 | theme: 'default', | |
35 | value: this.placeholder, |
|
35 | value: this.placeholder, | |
36 | readOnly: this.read_only, |
|
36 | readOnly: this.read_only, | |
37 | onKeyEvent: $.proxy(this.handle_codemirror_keyevent,this) |
|
37 | onKeyEvent: $.proxy(this.handle_codemirror_keyevent,this) | |
38 | }); |
|
38 | }); | |
39 | // The tabindex=-1 makes this div focusable. |
|
39 | // The tabindex=-1 makes this div focusable. | |
40 | var render_area = $('<div/>').addClass('text_cell_render border-box-sizing'). |
|
40 | var render_area = $('<div/>').addClass('text_cell_render border-box-sizing'). | |
41 | addClass('rendered_html').attr('tabindex','-1'); |
|
41 | addClass('rendered_html').attr('tabindex','-1'); | |
42 | cell.append(input_area).append(render_area); |
|
42 | cell.append(input_area).append(render_area); | |
43 | this.element = cell; |
|
43 | this.element = cell; | |
44 | }; |
|
44 | }; | |
45 |
|
45 | |||
46 |
|
46 | |||
47 | TextCell.prototype.bind_events = function () { |
|
47 | TextCell.prototype.bind_events = function () { | |
48 | IPython.Cell.prototype.bind_events.apply(this); |
|
48 | IPython.Cell.prototype.bind_events.apply(this); | |
49 | var that = this; |
|
49 | var that = this; | |
50 | this.element.keydown(function (event) { |
|
50 | this.element.keydown(function (event) { | |
51 | if (event.which === 13) { |
|
51 | if (event.which === 13) { | |
52 | if (that.rendered) { |
|
52 | if (that.rendered) { | |
53 | that.edit(); |
|
53 | that.edit(); | |
54 | return false; |
|
54 | return false; | |
55 | }; |
|
55 | }; | |
56 | }; |
|
56 | }; | |
57 | }); |
|
57 | }); | |
58 | this.element.dblclick(function () { |
|
58 | this.element.dblclick(function () { | |
59 | that.edit(); |
|
59 | that.edit(); | |
60 | }); |
|
60 | }); | |
61 | }; |
|
61 | }; | |
62 |
|
62 | |||
63 |
|
63 | |||
64 | TextCell.prototype.handle_codemirror_keyevent = function (editor, event) { |
|
64 | TextCell.prototype.handle_codemirror_keyevent = function (editor, event) { | |
65 | // This method gets called in CodeMirror's onKeyDown/onKeyPress |
|
65 | // This method gets called in CodeMirror's onKeyDown/onKeyPress | |
66 | // handlers and is used to provide custom key handling. Its return |
|
66 | // handlers and is used to provide custom key handling. Its return | |
67 | // value is used to determine if CodeMirror should ignore the event: |
|
67 | // value is used to determine if CodeMirror should ignore the event: | |
68 | // true = ignore, false = don't ignore. |
|
68 | // true = ignore, false = don't ignore. | |
69 |
|
69 | |||
70 | if (event.keyCode === 13 && (event.shiftKey || event.ctrlKey)) { |
|
70 | if (event.keyCode === 13 && (event.shiftKey || event.ctrlKey)) { | |
71 | // Always ignore shift-enter in CodeMirror as we handle it. |
|
71 | // Always ignore shift-enter in CodeMirror as we handle it. | |
72 | return true; |
|
72 | return true; | |
73 | } |
|
73 | } | |
74 | return false; |
|
74 | return false; | |
75 | }; |
|
75 | }; | |
76 |
|
76 | |||
77 |
|
77 | |||
78 | TextCell.prototype.select = function () { |
|
78 | TextCell.prototype.select = function () { | |
79 | IPython.Cell.prototype.select.apply(this); |
|
79 | IPython.Cell.prototype.select.apply(this); | |
80 | var output = this.element.find("div.text_cell_render"); |
|
80 | var output = this.element.find("div.text_cell_render"); | |
81 | output.trigger('focus'); |
|
81 | output.trigger('focus'); | |
82 | }; |
|
82 | }; | |
83 |
|
83 | |||
84 |
|
84 | |||
85 | TextCell.prototype.unselect = function() { |
|
85 | TextCell.prototype.unselect = function() { | |
86 | // render on selection of another cell |
|
86 | // render on selection of another cell | |
87 | this.render(); |
|
87 | this.render(); | |
88 | IPython.Cell.prototype.unselect.apply(this); |
|
88 | IPython.Cell.prototype.unselect.apply(this); | |
89 | }; |
|
89 | }; | |
90 |
|
90 | |||
91 |
|
91 | |||
92 | TextCell.prototype.edit = function () { |
|
92 | TextCell.prototype.edit = function () { | |
93 | if ( this.read_only ) return; |
|
93 | if ( this.read_only ) return; | |
94 | if (this.rendered === true) { |
|
94 | if (this.rendered === true) { | |
95 | var text_cell = this.element; |
|
95 | var text_cell = this.element; | |
96 | var output = text_cell.find("div.text_cell_render"); |
|
96 | var output = text_cell.find("div.text_cell_render"); | |
97 | output.hide(); |
|
97 | output.hide(); | |
98 | text_cell.find('div.text_cell_input').show(); |
|
98 | text_cell.find('div.text_cell_input').show(); | |
|
99 | // I don't know why I need to do this, but if I don't do | |||
|
100 | // refresh/focus/refresh, the to_markdown method won't work. | |||
99 | this.code_mirror.refresh(); |
|
101 | this.code_mirror.refresh(); | |
100 | this.code_mirror.focus(); |
|
102 | this.code_mirror.focus(); | |
101 | this.code_mirror.refresh(); |
|
103 | this.code_mirror.refresh(); | |
102 | this.rendered = false; |
|
104 | this.rendered = false; | |
103 | if (this.get_text() === this.placeholder) { |
|
105 | if (this.get_text() === this.placeholder) { | |
104 | this.set_text(''); |
|
106 | this.set_text(''); | |
105 | this.refresh(); |
|
107 | this.refresh(); | |
106 | } |
|
108 | } | |
107 | } |
|
109 | } | |
108 | }; |
|
110 | }; | |
109 |
|
111 | |||
110 |
|
112 | |||
111 | // Subclasses must define render. |
|
113 | // Subclasses must define render. | |
112 | TextCell.prototype.render = function () {}; |
|
114 | TextCell.prototype.render = function () {}; | |
113 |
|
115 | |||
114 |
|
116 | |||
115 | TextCell.prototype.get_text = function() { |
|
117 | TextCell.prototype.get_text = function() { | |
116 | return this.code_mirror.getValue(); |
|
118 | return this.code_mirror.getValue(); | |
117 | }; |
|
119 | }; | |
118 |
|
120 | |||
119 |
|
121 | |||
120 | TextCell.prototype.set_text = function(text) { |
|
122 | TextCell.prototype.set_text = function(text) { | |
121 | this.code_mirror.setValue(text); |
|
123 | this.code_mirror.setValue(text); | |
122 | this.code_mirror.refresh(); |
|
124 | this.code_mirror.refresh(); | |
123 | }; |
|
125 | }; | |
124 |
|
126 | |||
125 |
|
127 | |||
126 | TextCell.prototype.get_rendered = function() { |
|
128 | TextCell.prototype.get_rendered = function() { | |
127 | return this.element.find('div.text_cell_render').html(); |
|
129 | return this.element.find('div.text_cell_render').html(); | |
128 | }; |
|
130 | }; | |
129 |
|
131 | |||
130 |
|
132 | |||
131 | TextCell.prototype.set_rendered = function(text) { |
|
133 | TextCell.prototype.set_rendered = function(text) { | |
132 | this.element.find('div.text_cell_render').html(text); |
|
134 | this.element.find('div.text_cell_render').html(text); | |
133 | }; |
|
135 | }; | |
134 |
|
136 | |||
135 |
|
137 | |||
136 | TextCell.prototype.at_top = function () { |
|
138 | TextCell.prototype.at_top = function () { | |
137 | if (this.rendered) { |
|
139 | if (this.rendered) { | |
138 | return true; |
|
140 | return true; | |
139 | } else { |
|
141 | } else { | |
140 | return false; |
|
142 | return false; | |
141 | } |
|
143 | } | |
142 | }; |
|
144 | }; | |
143 |
|
145 | |||
144 |
|
146 | |||
145 | TextCell.prototype.at_bottom = function () { |
|
147 | TextCell.prototype.at_bottom = function () { | |
146 | if (this.rendered) { |
|
148 | if (this.rendered) { | |
147 | return true; |
|
149 | return true; | |
148 | } else { |
|
150 | } else { | |
149 | return false; |
|
151 | return false; | |
150 | } |
|
152 | } | |
151 | }; |
|
153 | }; | |
152 |
|
154 | |||
153 |
|
155 | |||
154 | TextCell.prototype.fromJSON = function (data) { |
|
156 | TextCell.prototype.fromJSON = function (data) { | |
155 | if (data.cell_type === this.cell_type) { |
|
157 | if (data.cell_type === this.cell_type) { | |
156 | if (data.source !== undefined) { |
|
158 | if (data.source !== undefined) { | |
157 | this.set_text(data.source); |
|
159 | this.set_text(data.source); | |
158 | this.set_rendered(data.rendered || ''); |
|
160 | this.set_rendered(data.rendered || ''); | |
159 | this.rendered = false; |
|
161 | this.rendered = false; | |
160 | this.render(); |
|
162 | this.render(); | |
161 | } |
|
163 | } | |
162 | } |
|
164 | } | |
163 | }; |
|
165 | }; | |
164 |
|
166 | |||
165 |
|
167 | |||
166 | TextCell.prototype.toJSON = function () { |
|
168 | TextCell.prototype.toJSON = function () { | |
167 | var data = {}; |
|
169 | var data = {}; | |
168 | data.cell_type = this.cell_type; |
|
170 | data.cell_type = this.cell_type; | |
169 | data.source = this.get_text(); |
|
171 | data.source = this.get_text(); | |
170 | return data; |
|
172 | return data; | |
171 | }; |
|
173 | }; | |
172 |
|
174 | |||
173 |
|
175 | |||
174 | // HTMLCell |
|
176 | // HTMLCell | |
175 |
|
177 | |||
176 | var HTMLCell = function (notebook) { |
|
178 | var HTMLCell = function (notebook) { | |
177 | this.placeholder = "Type <strong>HTML</strong> and LaTeX: $\\alpha^2$"; |
|
179 | this.placeholder = "Type <strong>HTML</strong> and LaTeX: $\\alpha^2$"; | |
178 | IPython.TextCell.apply(this, arguments); |
|
180 | IPython.TextCell.apply(this, arguments); | |
179 | this.cell_type = 'html'; |
|
181 | this.cell_type = 'html'; | |
180 | }; |
|
182 | }; | |
181 |
|
183 | |||
182 |
|
184 | |||
183 | HTMLCell.prototype = new TextCell(); |
|
185 | HTMLCell.prototype = new TextCell(); | |
184 |
|
186 | |||
185 |
|
187 | |||
186 | HTMLCell.prototype.render = function () { |
|
188 | HTMLCell.prototype.render = function () { | |
187 | if (this.rendered === false) { |
|
189 | if (this.rendered === false) { | |
188 | var text = this.get_text(); |
|
190 | var text = this.get_text(); | |
189 | if (text === "") { text = this.placeholder; } |
|
191 | if (text === "") { text = this.placeholder; } | |
190 | this.set_rendered(text); |
|
192 | this.set_rendered(text); | |
191 | this.typeset(); |
|
193 | this.typeset(); | |
192 | this.element.find('div.text_cell_input').hide(); |
|
194 | this.element.find('div.text_cell_input').hide(); | |
193 | this.element.find("div.text_cell_render").show(); |
|
195 | this.element.find("div.text_cell_render").show(); | |
194 | this.rendered = true; |
|
196 | this.rendered = true; | |
195 | } |
|
197 | } | |
196 | }; |
|
198 | }; | |
197 |
|
199 | |||
198 |
|
200 | |||
199 | // MarkdownCell |
|
201 | // MarkdownCell | |
200 |
|
202 | |||
201 | var MarkdownCell = function (notebook) { |
|
203 | var MarkdownCell = function (notebook) { | |
202 | this.placeholder = "Type *Markdown* and LaTeX: $\\alpha^2$"; |
|
204 | this.placeholder = "Type *Markdown* and LaTeX: $\\alpha^2$"; | |
203 | IPython.TextCell.apply(this, arguments); |
|
205 | IPython.TextCell.apply(this, arguments); | |
204 | this.cell_type = 'markdown'; |
|
206 | this.cell_type = 'markdown'; | |
205 | }; |
|
207 | }; | |
206 |
|
208 | |||
207 |
|
209 | |||
208 | MarkdownCell.prototype = new TextCell(); |
|
210 | MarkdownCell.prototype = new TextCell(); | |
209 |
|
211 | |||
210 |
|
212 | |||
211 | MarkdownCell.prototype.render = function () { |
|
213 | MarkdownCell.prototype.render = function () { | |
212 | if (this.rendered === false) { |
|
214 | if (this.rendered === false) { | |
213 | var text = this.get_text(); |
|
215 | var text = this.get_text(); | |
214 | if (text === "") { text = this.placeholder; } |
|
216 | if (text === "") { text = this.placeholder; } | |
215 | var html = IPython.markdown_converter.makeHtml(text); |
|
217 | var html = IPython.markdown_converter.makeHtml(text); | |
216 | this.set_rendered(html); |
|
218 | this.set_rendered(html); | |
217 | this.typeset() |
|
219 | this.typeset() | |
218 | this.element.find('div.text_cell_input').hide(); |
|
220 | this.element.find('div.text_cell_input').hide(); | |
219 | this.element.find("div.text_cell_render").show(); |
|
221 | this.element.find("div.text_cell_render").show(); | |
220 | var code_snippets = this.element.find("pre > code"); |
|
222 | var code_snippets = this.element.find("pre > code"); | |
221 | code_snippets.replaceWith(function () { |
|
223 | code_snippets.replaceWith(function () { | |
222 | var code = $(this).html(); |
|
224 | var code = $(this).html(); | |
223 | /* Substitute br for newlines and for spaces |
|
225 | /* Substitute br for newlines and for spaces | |
224 | before highlighting, since prettify doesn't |
|
226 | before highlighting, since prettify doesn't | |
225 | preserve those on all browsers */ |
|
227 | preserve those on all browsers */ | |
226 | code = code.replace(/(\r\n|\n|\r)/gm, "<br/>"); |
|
228 | code = code.replace(/(\r\n|\n|\r)/gm, "<br/>"); | |
227 | code = code.replace(/ /gm, ' '); |
|
229 | code = code.replace(/ /gm, ' '); | |
228 | code = prettyPrintOne(code); |
|
230 | code = prettyPrintOne(code); | |
229 |
|
231 | |||
230 | return '<code class="prettyprint">' + code + '</code>'; |
|
232 | return '<code class="prettyprint">' + code + '</code>'; | |
231 | }); |
|
233 | }); | |
232 | this.rendered = true; |
|
234 | this.rendered = true; | |
233 | } |
|
235 | } | |
234 | }; |
|
236 | }; | |
235 |
|
237 | |||
236 |
|
238 | |||
237 | // RSTCell |
|
239 | // RSTCell | |
238 |
|
240 | |||
239 | var RSTCell = function (notebook) { |
|
241 | var RSTCell = function (notebook) { | |
240 | this.placeholder = "Type *ReStructured Text* and LaTeX: $\\alpha^2$"; |
|
242 | this.placeholder = "Type *ReStructured Text* and LaTeX: $\\alpha^2$"; | |
241 | IPython.TextCell.apply(this, arguments); |
|
243 | IPython.TextCell.apply(this, arguments); | |
242 | this.cell_type = 'rst'; |
|
244 | this.cell_type = 'rst'; | |
243 | }; |
|
245 | }; | |
244 |
|
246 | |||
245 |
|
247 | |||
246 | RSTCell.prototype = new TextCell(); |
|
248 | RSTCell.prototype = new TextCell(); | |
247 |
|
249 | |||
248 |
|
250 | |||
249 | RSTCell.prototype.render = function () { |
|
251 | RSTCell.prototype.render = function () { | |
250 | if (this.rendered === false) { |
|
252 | if (this.rendered === false) { | |
251 | var text = this.get_text(); |
|
253 | var text = this.get_text(); | |
252 | if (text === "") { text = this.placeholder; } |
|
254 | if (text === "") { text = this.placeholder; } | |
253 | var settings = { |
|
255 | var settings = { | |
254 | processData : false, |
|
256 | processData : false, | |
255 | cache : false, |
|
257 | cache : false, | |
256 | type : "POST", |
|
258 | type : "POST", | |
257 | data : text, |
|
259 | data : text, | |
258 | headers : {'Content-Type': 'application/x-rst'}, |
|
260 | headers : {'Content-Type': 'application/x-rst'}, | |
259 | success : $.proxy(this.handle_render,this) |
|
261 | success : $.proxy(this.handle_render,this) | |
260 | }; |
|
262 | }; | |
261 | $.ajax("/rstservice/render", settings); |
|
263 | $.ajax("/rstservice/render", settings); | |
262 | this.element.find('div.text_cell_input').hide(); |
|
264 | this.element.find('div.text_cell_input').hide(); | |
263 | this.element.find("div.text_cell_render").show(); |
|
265 | this.element.find("div.text_cell_render").show(); | |
264 | this.set_rendered("Rendering..."); |
|
266 | this.set_rendered("Rendering..."); | |
265 | } |
|
267 | } | |
266 | }; |
|
268 | }; | |
267 |
|
269 | |||
268 |
|
270 | |||
269 | RSTCell.prototype.handle_render = function (data, status, xhr) { |
|
271 | RSTCell.prototype.handle_render = function (data, status, xhr) { | |
270 | this.set_rendered(data); |
|
272 | this.set_rendered(data); | |
271 | this.typeset(); |
|
273 | this.typeset(); | |
272 | this.rendered = true; |
|
274 | this.rendered = true; | |
273 | }; |
|
275 | }; | |
274 |
|
276 | |||
275 |
|
277 | |||
276 | IPython.TextCell = TextCell; |
|
278 | IPython.TextCell = TextCell; | |
277 | IPython.HTMLCell = HTMLCell; |
|
279 | IPython.HTMLCell = HTMLCell; | |
278 | IPython.MarkdownCell = MarkdownCell; |
|
280 | IPython.MarkdownCell = MarkdownCell; | |
279 | IPython.RSTCell = RSTCell; |
|
281 | IPython.RSTCell = RSTCell; | |
280 |
|
282 | |||
281 |
|
283 | |||
282 | return IPython; |
|
284 | return IPython; | |
283 |
|
285 | |||
284 | }(IPython)); |
|
286 | }(IPython)); | |
285 |
|
287 |
@@ -1,205 +1,207 b'' | |||||
1 | <!DOCTYPE HTML> |
|
1 | <!DOCTYPE HTML> | |
2 | <html> |
|
2 | <html> | |
3 |
|
3 | |||
4 | <head> |
|
4 | <head> | |
5 | <meta charset="utf-8"> |
|
5 | <meta charset="utf-8"> | |
6 |
|
6 | |||
7 | <title>IPython Notebook</title> |
|
7 | <title>IPython Notebook</title> | |
8 |
|
8 | |||
9 | {% if mathjax_url %} |
|
9 | {% if mathjax_url %} | |
10 | <script type="text/javascript" src="{{mathjax_url}}?config=TeX-AMS_HTML" charset="utf-8"></script> |
|
10 | <script type="text/javascript" src="{{mathjax_url}}?config=TeX-AMS_HTML" charset="utf-8"></script> | |
11 | {% end %} |
|
11 | {% end %} | |
12 | <script type="text/javascript"> |
|
12 | <script type="text/javascript"> | |
13 | // MathJax disabled, set as null to distingish from *missing* MathJax, |
|
13 | // MathJax disabled, set as null to distingish from *missing* MathJax, | |
14 | // where it will be undefined, and should prompt a dialog later. |
|
14 | // where it will be undefined, and should prompt a dialog later. | |
15 | window.mathjax_url = "{{mathjax_url}}"; |
|
15 | window.mathjax_url = "{{mathjax_url}}"; | |
16 | </script> |
|
16 | </script> | |
17 |
|
17 | |||
18 | <link rel="stylesheet" href="/static/jquery/css/themes/base/jquery-ui.min.css" type="text/css" /> |
|
18 | <link rel="stylesheet" href="/static/jquery/css/themes/base/jquery-ui.min.css" type="text/css" /> | |
19 | <link rel="stylesheet" href="/static/codemirror/lib/codemirror.css"> |
|
19 | <link rel="stylesheet" href="/static/codemirror/lib/codemirror.css"> | |
20 | <link rel="stylesheet" href="/static/codemirror/theme/ipython.css"> |
|
20 | <link rel="stylesheet" href="/static/codemirror/theme/ipython.css"> | |
21 |
|
21 | |||
22 | <link rel="stylesheet" href="/static/prettify/prettify.css"/> |
|
22 | <link rel="stylesheet" href="/static/prettify/prettify.css"/> | |
23 |
|
23 | |||
24 | <link rel="stylesheet" href="/static/css/boilerplate.css" type="text/css" /> |
|
24 | <link rel="stylesheet" href="/static/css/boilerplate.css" type="text/css" /> | |
25 | <link rel="stylesheet" href="/static/css/layout.css" type="text/css" /> |
|
25 | <link rel="stylesheet" href="/static/css/layout.css" type="text/css" /> | |
26 | <link rel="stylesheet" href="/static/css/base.css" type="text/css" /> |
|
26 | <link rel="stylesheet" href="/static/css/base.css" type="text/css" /> | |
27 | <link rel="stylesheet" href="/static/css/notebook.css" type="text/css" /> |
|
27 | <link rel="stylesheet" href="/static/css/notebook.css" type="text/css" /> | |
28 | <link rel="stylesheet" href="/static/css/renderedhtml.css" type="text/css" /> |
|
28 | <link rel="stylesheet" href="/static/css/renderedhtml.css" type="text/css" /> | |
29 |
|
29 | |||
30 | {% comment In the notebook, the read-only flag is used to determine %} |
|
30 | {% comment In the notebook, the read-only flag is used to determine %} | |
31 | {% comment whether to hide the side panels and switch off input %} |
|
31 | {% comment whether to hide the side panels and switch off input %} | |
32 | <meta name="read_only" content="{{read_only and not logged_in}}"/> |
|
32 | <meta name="read_only" content="{{read_only and not logged_in}}"/> | |
33 |
|
33 | |||
34 | </head> |
|
34 | </head> | |
35 |
|
35 | |||
36 | <body |
|
36 | <body | |
37 | data-project={{project}} data-notebook-id={{notebook_id}} |
|
37 | data-project={{project}} data-notebook-id={{notebook_id}} | |
38 | data-base-project-url={{base_project_url}} data-base-kernel-url={{base_kernel_url}} |
|
38 | data-base-project-url={{base_project_url}} data-base-kernel-url={{base_kernel_url}} | |
39 | > |
|
39 | > | |
40 |
|
40 | |||
41 | <div id="header"> |
|
41 | <div id="header"> | |
42 | <span id="ipython_notebook"><h1><a href='..' alt='dashboard'><img src='/static/ipynblogo.png' alt='IPython Notebook'/></a></h1></span> |
|
42 | <span id="ipython_notebook"><h1><a href='..' alt='dashboard'><img src='/static/ipynblogo.png' alt='IPython Notebook'/></a></h1></span> | |
43 | <span id="save_widget"> |
|
43 | <span id="save_widget"> | |
44 | <span id="notebook_name"></span> |
|
44 | <span id="notebook_name"></span> | |
45 | <span id="save_status"></span> |
|
45 | <span id="save_status"></span> | |
46 | </span> |
|
46 | </span> | |
47 |
|
47 | |||
48 | <span id="login_widget"> |
|
48 | <span id="login_widget"> | |
49 | {% comment This is a temporary workaround to hide the logout button %} |
|
49 | {% comment This is a temporary workaround to hide the logout button %} | |
50 | {% comment when appropriate until notebook.html is templated %} |
|
50 | {% comment when appropriate until notebook.html is templated %} | |
51 | {% if logged_in %} |
|
51 | {% if logged_in %} | |
52 | <button id="logout">Logout</button> |
|
52 | <button id="logout">Logout</button> | |
53 | {% elif not logged_in and login_available %} |
|
53 | {% elif not logged_in and login_available %} | |
54 | <button id="login">Login</button> |
|
54 | <button id="login">Login</button> | |
55 | {% end %} |
|
55 | {% end %} | |
56 | </span> |
|
56 | </span> | |
57 |
|
57 | |||
58 | <span id="kernel_status">Idle</span> |
|
58 | <span id="kernel_status">Idle</span> | |
59 | </div> |
|
59 | </div> | |
60 |
|
60 | |||
61 | <div id="menubar"> |
|
61 | <div id="menubar"> | |
62 | <ul id="menus"> |
|
62 | <ul id="menus"> | |
63 | <li><a href="#">File</a> |
|
63 | <li><a href="#">File</a> | |
64 | <ul> |
|
64 | <ul> | |
65 | <li id="new_notebook"><a href="#">New</a></li> |
|
65 | <li id="new_notebook"><a href="#">New</a></li> | |
66 | <li id="open_notebook"><a href="#">Open...</a></li> |
|
66 | <li id="open_notebook"><a href="#">Open...</a></li> | |
67 | <hr/> |
|
67 | <hr/> | |
68 | <li id="copy_notebook"><a href="#">Make a Copy...</a></li> |
|
68 | <li id="copy_notebook"><a href="#">Make a Copy...</a></li> | |
69 | <li id="rename_notebook"><a href="#">Rename...</a></li> |
|
69 | <li id="rename_notebook"><a href="#">Rename...</a></li> | |
70 | <li id="save_notebook"><a href="#">Save</a></li> |
|
70 | <li id="save_notebook"><a href="#">Save</a></li> | |
71 | <hr/> |
|
71 | <hr/> | |
72 | <li><a href="#">Download as</a> |
|
72 | <li><a href="#">Download as</a> | |
73 | <ul> |
|
73 | <ul> | |
74 | <li id="download_ipynb"><a href="#">IPython (.ipynb)</a></li> |
|
74 | <li id="download_ipynb"><a href="#">IPython (.ipynb)</a></li> | |
75 | <li id="download_py"><a href="#">Python (.py)</a></li> |
|
75 | <li id="download_py"><a href="#">Python (.py)</a></li> | |
76 | </ul> |
|
76 | </ul> | |
77 | </li> |
|
77 | </li> | |
78 | <hr/> |
|
78 | <hr/> | |
79 | <li id="print_notebook"><a href="/{{notebook_id}}/print" target="_blank">Print View</a></li> |
|
79 | <li id="print_notebook"><a href="/{{notebook_id}}/print" target="_blank">Print View</a></li> | |
80 | </ul> |
|
80 | </ul> | |
81 | </li> |
|
81 | </li> | |
82 | <li><a href="#">Edit</a> |
|
82 | <li><a href="#">Edit</a> | |
83 | <ul> |
|
83 | <ul> | |
84 | <li id="cut_cell"><a href="#">Cut</a></li> |
|
84 | <li id="cut_cell"><a href="#">Cut</a></li> | |
85 | <li id="copy_cell"><a href="#">Copy</a></li> |
|
85 | <li id="copy_cell"><a href="#">Copy</a></li> | |
86 | <li id="paste_cell" class="ui-state-disabled"><a href="#">Paste</a></li> |
|
86 | <li id="paste_cell" class="ui-state-disabled"><a href="#">Paste</a></li> | |
87 | <li id="paste_cell_above" class="ui-state-disabled"><a href="#">Paste Above</a></li> |
|
87 | <li id="paste_cell_above" class="ui-state-disabled"><a href="#">Paste Above</a></li> | |
88 | <li id="paste_cell_below" class="ui-state-disabled"><a href="#">Paste Below</a></li> |
|
88 | <li id="paste_cell_below" class="ui-state-disabled"><a href="#">Paste Below</a></li> | |
89 | <li id="delete_cell"><a href="#">Delete</a></li> |
|
89 | <li id="delete_cell"><a href="#">Delete</a></li> | |
90 | <hr/> |
|
90 | <hr/> | |
91 | <li id="split_cell"><a href="#">Split</a></li> |
|
91 | <li id="split_cell"><a href="#">Split</a></li> | |
92 | <li id="merge_cell_above"><a href="#">Merge Above</a></li> |
|
92 | <li id="merge_cell_above"><a href="#">Merge Above</a></li> | |
93 | <li id="merge_cell_below"><a href="#">Merge Below</a></li> |
|
93 | <li id="merge_cell_below"><a href="#">Merge Below</a></li> | |
94 | <hr/> |
|
94 | <hr/> | |
95 | <li id="move_cell_up"><a href="#">Move Up</a></li> |
|
95 | <li id="move_cell_up"><a href="#">Move Up</a></li> | |
96 | <li id="move_cell_down"><a href="#">Move Down</a></li> |
|
96 | <li id="move_cell_down"><a href="#">Move Down</a></li> | |
97 | <hr/> |
|
97 | <hr/> | |
98 | <li id="select_previous"><a href="#">Select Previous</a></li> |
|
98 | <li id="select_previous"><a href="#">Select Previous</a></li> | |
99 | <li id="select_next"><a href="#">Select Next</a></li> |
|
99 | <li id="select_next"><a href="#">Select Next</a></li> | |
100 | </ul> |
|
100 | </ul> | |
101 | </li> |
|
101 | </li> | |
102 | <li><a href="#">Insert</a> |
|
102 | <li><a href="#">Insert</a> | |
103 | <ul> |
|
103 | <ul> | |
104 | <li id="insert_cell_above"><a href="#">Insert Cell Above</a></li> |
|
104 | <li id="insert_cell_above"><a href="#">Insert Cell Above</a></li> | |
105 | <li id="insert_cell_below"><a href="#">Insert Cell Below</a></li> |
|
105 | <li id="insert_cell_below"><a href="#">Insert Cell Below</a></li> | |
106 | </ul> |
|
106 | </ul> | |
107 | </li> |
|
107 | </li> | |
108 | <li><a href="#">Cell</a> |
|
108 | <li><a href="#">Cell</a> | |
109 | <ul> |
|
109 | <ul> | |
110 | <li id="full_edit_cell"><a href="#">Edit in Ace</a></li> |
|
110 | <li id="full_edit_cell"><a href="#">Edit in Ace</a></li> | |
111 | <hr/> |
|
111 | <hr/> | |
112 | <li id="run_cell"><a href="#">Run</a></li> |
|
112 | <li id="run_cell"><a href="#">Run</a></li> | |
113 | <li id="run_cell_in_place"><a href="#">Run in Place</a></li> |
|
113 | <li id="run_cell_in_place"><a href="#">Run in Place</a></li> | |
114 | <li id="run_all_cells"><a href="#">Run All</a></li> |
|
114 | <li id="run_all_cells"><a href="#">Run All</a></li> | |
115 | <hr/> |
|
115 | <hr/> | |
116 | <li id="to_code"><a href="#">Code Cell</a></li> |
|
116 | <li id="to_code"><a href="#">Code Cell</a></li> | |
117 | <li id="to_markdown"><a href="#">Markdown Cell</a></li> |
|
117 | <li id="to_markdown"><a href="#">Markdown Cell</a></li> | |
118 | <hr/> |
|
118 | <hr/> | |
119 | <li id="toggle_output"><a href="#">Toggle Output</a></li> |
|
119 | <li id="toggle_output"><a href="#">Toggle Output</a></li> | |
120 | <li id="clear_all_output"><a href="#">Clear All Output</a></li> |
|
120 | <li id="clear_all_output"><a href="#">Clear All Output</a></li> | |
121 | </ul> |
|
121 | </ul> | |
122 | </li> |
|
122 | </li> | |
123 | <li><a href="#">Kernel</a> |
|
123 | <li><a href="#">Kernel</a> | |
124 | <ul> |
|
124 | <ul> | |
125 | <li id="int_kernel"><a href="#">Interrupt</a></li> |
|
125 | <li id="int_kernel"><a href="#">Interrupt</a></li> | |
126 | <li id="restart_kernel"><a href="#">Restart</a></li> |
|
126 | <li id="restart_kernel"><a href="#">Restart</a></li> | |
127 | </ul> |
|
127 | </ul> | |
128 | </li> |
|
128 | </li> | |
129 | <li><a href="#">Help</a> |
|
129 | <li><a href="#">Help</a> | |
130 | <ul> |
|
130 | <ul> | |
131 | <li><a href="http://ipython.org/documentation.html" target="_blank">IPython Help</a></li> |
|
131 | <li><a href="http://ipython.org/documentation.html" target="_blank">IPython Help</a></li> | |
132 | <li><a href="http://ipython.org/ipython-doc/stable/interactive/htmlnotebook.html" target="_blank">Notebook Help</a></li> |
|
132 | <li><a href="http://ipython.org/ipython-doc/stable/interactive/htmlnotebook.html" target="_blank">Notebook Help</a></li> | |
133 | <li id="keyboard_shortcuts"><a href="#">Keyboard Shortcuts</a></li> |
|
133 | <li id="keyboard_shortcuts"><a href="#">Keyboard Shortcuts</a></li> | |
134 | <hr/> |
|
134 | <hr/> | |
135 | <li><a href="https://github.com/ajaxorg/ace/wiki/Default-Keyboard-Shortcuts" target="_blank">Ace Keyboard Shortcuts</a></li> |
|
135 | <li><a href="https://github.com/ajaxorg/ace/wiki/Default-Keyboard-Shortcuts" target="_blank">Ace Keyboard Shortcuts</a></li> | |
136 | <hr/> |
|
136 | <hr/> | |
137 | <li><a href="http://docs.python.org" target="_blank">Python</a></li> |
|
137 | <li><a href="http://docs.python.org" target="_blank">Python</a></li> | |
138 | <li><a href="http://docs.scipy.org/doc/numpy/reference/" target="_blank">NumPy</a></li> |
|
138 | <li><a href="http://docs.scipy.org/doc/numpy/reference/" target="_blank">NumPy</a></li> | |
139 | <li><a href="http://docs.scipy.org/doc/scipy/reference/" target="_blank">SciPy</a></li> |
|
139 | <li><a href="http://docs.scipy.org/doc/scipy/reference/" target="_blank">SciPy</a></li> | |
140 | <li><a href="http://docs.sympy.org/dev/index.html" target="_blank">SymPy</a></li> |
|
140 | <li><a href="http://docs.sympy.org/dev/index.html" target="_blank">SymPy</a></li> | |
141 | <li><a href="http://matplotlib.sourceforge.net/" target="_blank">Matplotlib</a></li> |
|
141 | <li><a href="http://matplotlib.sourceforge.net/" target="_blank">Matplotlib</a></li> | |
142 | </ul> |
|
142 | </ul> | |
143 | </li> |
|
143 | </li> | |
144 | </ul> |
|
144 | </ul> | |
145 |
|
145 | |||
146 | </div> |
|
146 | </div> | |
147 |
|
147 | |||
148 | <div id="main_app"> |
|
148 | <div id="main_app"> | |
149 |
|
149 | |||
150 | <div id="notebook_panel"> |
|
150 | <div id="notebook_panel"> | |
151 | <div id="notebook"></div> |
|
151 | <div id="notebook"></div> | |
152 | <div id="pager_splitter"></div> |
|
152 | <div id="pager_splitter"></div> | |
153 | <div id="pager"></div> |
|
153 | <div id="pager"></div> | |
154 | </div> |
|
154 | </div> | |
155 |
|
155 | |||
156 | </div> |
|
156 | </div> | |
157 |
|
157 | |||
158 | <div id="fulledit_widget" > |
|
158 | <div id="fulledit_widget" > | |
159 | <div id="fulledit_header"> |
|
159 | <div id="fulledit_header"> | |
160 | <button id="close_fulledit">Close</button> |
|
160 | <button id="close_fulledit">Close</button> | |
161 | </div> |
|
161 | </div> | |
162 | <div id="fulledit_editor">some text</div> |
|
162 | <div id="fulledit_editor">some text</div> | |
163 | </div> |
|
163 | </div> | |
164 |
|
164 | |||
165 | <script src="/static/jquery/js/jquery-1.7.1.min.js" type="text/javascript" charset="utf-8"></script> |
|
165 | <script src="/static/jquery/js/jquery-1.7.1.min.js" type="text/javascript" charset="utf-8"></script> | |
166 | <script src="/static/jquery/js/jquery-ui.min.js" type="text/javascript" charset="utf-8"></script> |
|
166 | <script src="/static/jquery/js/jquery-ui.min.js" type="text/javascript" charset="utf-8"></script> | |
167 |
|
167 | |||
168 | <script src="/static/codemirror/lib/codemirror.js" charset="utf-8"></script> |
|
168 | <script src="/static/codemirror/lib/codemirror.js" charset="utf-8"></script> | |
169 | <script src="/static/codemirror/mode/python/python.js" charset="utf-8"></script> |
|
169 | <script src="/static/codemirror/mode/python/python.js" charset="utf-8"></script> | |
170 | <script src="/static/codemirror/mode/htmlmixed/htmlmixed.js" charset="utf-8"></script> |
|
170 | <script src="/static/codemirror/mode/htmlmixed/htmlmixed.js" charset="utf-8"></script> | |
171 | <script src="/static/codemirror/mode/xml/xml.js" charset="utf-8"></script> |
|
171 | <script src="/static/codemirror/mode/xml/xml.js" charset="utf-8"></script> | |
172 | <script src="/static/codemirror/mode/javascript/javascript.js" charset="utf-8"></script> |
|
172 | <script src="/static/codemirror/mode/javascript/javascript.js" charset="utf-8"></script> | |
173 | <script src="/static/codemirror/mode/css/css.js" charset="utf-8"></script> |
|
173 | <script src="/static/codemirror/mode/css/css.js" charset="utf-8"></script> | |
174 | <script src="/static/codemirror/mode/rst/rst.js" charset="utf-8"></script> |
|
174 | <script src="/static/codemirror/mode/rst/rst.js" charset="utf-8"></script> | |
175 | <script src="/static/codemirror/mode/markdown/markdown.js" charset="utf-8"></script> |
|
175 | <script src="/static/codemirror/mode/markdown/markdown.js" charset="utf-8"></script> | |
176 |
|
176 | |||
177 | <script src="/static/ace/ace.js" type="text/javascript" charset="utf-8"></script> |
|
177 | <script src="/static/ace/ace.js" type="text/javascript" charset="utf-8"></script> | |
178 | <script src="/static/ace/mode-python.js" type="text/javascript" charset="utf-8"></script> |
|
178 | <script src="/static/ace/mode-python.js" type="text/javascript" charset="utf-8"></script> | |
|
179 | <script src="/static/ace/mode-markdown.js" type="text/javascript" charset="utf-8"></script> | |||
|
180 | <script src="/static/ace/mode-html.js" type="text/javascript" charset="utf-8"></script> | |||
179 | <script src="/static/ace/theme-textmate.js" type="text/javascript" charset="utf-8"></script> |
|
181 | <script src="/static/ace/theme-textmate.js" type="text/javascript" charset="utf-8"></script> | |
180 |
|
182 | |||
181 | <script src="/static/pagedown/Markdown.Converter.js" charset="utf-8"></script> |
|
183 | <script src="/static/pagedown/Markdown.Converter.js" charset="utf-8"></script> | |
182 |
|
184 | |||
183 | <script src="/static/prettify/prettify.js" charset="utf-8"></script> |
|
185 | <script src="/static/prettify/prettify.js" charset="utf-8"></script> | |
184 | <script src="/static/dateformat/date.format.js" charset="utf-8"></script> |
|
186 | <script src="/static/dateformat/date.format.js" charset="utf-8"></script> | |
185 |
|
187 | |||
186 | <script src="/static/js/namespace.js" type="text/javascript" charset="utf-8"></script> |
|
188 | <script src="/static/js/namespace.js" type="text/javascript" charset="utf-8"></script> | |
187 | <script src="/static/js/utils.js" type="text/javascript" charset="utf-8"></script> |
|
189 | <script src="/static/js/utils.js" type="text/javascript" charset="utf-8"></script> | |
188 | <script src="/static/js/cell.js" type="text/javascript" charset="utf-8"></script> |
|
190 | <script src="/static/js/cell.js" type="text/javascript" charset="utf-8"></script> | |
189 | <script src="/static/js/codecell.js" type="text/javascript" charset="utf-8"></script> |
|
191 | <script src="/static/js/codecell.js" type="text/javascript" charset="utf-8"></script> | |
190 | <script src="/static/js/textcell.js" type="text/javascript" charset="utf-8"></script> |
|
192 | <script src="/static/js/textcell.js" type="text/javascript" charset="utf-8"></script> | |
191 | <script src="/static/js/kernel.js" type="text/javascript" charset="utf-8"></script> |
|
193 | <script src="/static/js/kernel.js" type="text/javascript" charset="utf-8"></script> | |
192 | <script src="/static/js/kernelstatus.js" type="text/javascript" charset="utf-8"></script> |
|
194 | <script src="/static/js/kernelstatus.js" type="text/javascript" charset="utf-8"></script> | |
193 | <script src="/static/js/layout.js" type="text/javascript" charset="utf-8"></script> |
|
195 | <script src="/static/js/layout.js" type="text/javascript" charset="utf-8"></script> | |
194 | <script src="/static/js/savewidget.js" type="text/javascript" charset="utf-8"></script> |
|
196 | <script src="/static/js/savewidget.js" type="text/javascript" charset="utf-8"></script> | |
195 | <script src="/static/js/quickhelp.js" type="text/javascript" charset="utf-8"></script> |
|
197 | <script src="/static/js/quickhelp.js" type="text/javascript" charset="utf-8"></script> | |
196 | <script src="/static/js/loginwidget.js" type="text/javascript" charset="utf-8"></script> |
|
198 | <script src="/static/js/loginwidget.js" type="text/javascript" charset="utf-8"></script> | |
197 | <script src="/static/js/pager.js" type="text/javascript" charset="utf-8"></script> |
|
199 | <script src="/static/js/pager.js" type="text/javascript" charset="utf-8"></script> | |
198 | <script src="/static/js/menubar.js" type="text/javascript" charset="utf-8"></script> |
|
200 | <script src="/static/js/menubar.js" type="text/javascript" charset="utf-8"></script> | |
199 | <script src="/static/js/notebook.js" type="text/javascript" charset="utf-8"></script> |
|
201 | <script src="/static/js/notebook.js" type="text/javascript" charset="utf-8"></script> | |
200 | <script src="/static/js/notebookmain.js" type="text/javascript" charset="utf-8"></script> |
|
202 | <script src="/static/js/notebookmain.js" type="text/javascript" charset="utf-8"></script> | |
201 | <script src="/static/js/fulleditwidget.js" type="text/javascript" charset="utf-8"></script> |
|
203 | <script src="/static/js/fulleditwidget.js" type="text/javascript" charset="utf-8"></script> | |
202 |
|
204 | |||
203 | </body> |
|
205 | </body> | |
204 |
|
206 | |||
205 | </html> |
|
207 | </html> |
General Comments 0
You need to be logged in to leave comments.
Login now