v1.0
只读模式 group, 分享 评论更多问题 博客标签总是存在一个
This commit is contained in:
@ -59,8 +59,10 @@ tinymce.PluginManager.add('leanote_code', function(editor, url) {
|
||||
// 当pre->text时会有遗留, 这里干脆清除之
|
||||
$('#editorContent .toggle-raw').remove();
|
||||
|
||||
log('curNode:')
|
||||
log(node);
|
||||
var brushClasses = 'class="brush:' + brush + '"';
|
||||
|
||||
// log('curNode:')
|
||||
// log(node);
|
||||
// s = ed.selection;
|
||||
// log(s);
|
||||
// log($pre.get(0));
|
||||
@ -109,15 +111,15 @@ tinymce.PluginManager.add('leanote_code', function(editor, url) {
|
||||
if(text) {
|
||||
// 不是, 那么替换成<pre>
|
||||
text = html2BreakLineForPre(text);
|
||||
pre = '<pre id="' + id + '">' + text + '</pre>';
|
||||
pre = '<pre id="' + id + '" ' + brushClasses + '>' + text + '</pre>';
|
||||
ed.insertContent(pre);
|
||||
} else {
|
||||
if(node) {
|
||||
text = html2BreakLineForPre(node);
|
||||
pre = '<pre id="' + id + '">' + text + '</pre>';
|
||||
pre = '<pre id="' + id + '" ' + brushClasses + '>' + text + '</pre>';
|
||||
$(node).replaceWith(pre);
|
||||
} else {
|
||||
pre = '<pre id="' + id + '">' + text + '</pre>';
|
||||
pre = '<pre id="' + id + '" ' + brushClasses + '>' + text + '</pre>';
|
||||
ed.insertContent(pre);
|
||||
}
|
||||
}
|
||||
@ -173,17 +175,17 @@ tinymce.PluginManager.add('leanote_code', function(editor, url) {
|
||||
// log(text);
|
||||
text = html2BreakLine(text);
|
||||
// log(text);
|
||||
ed.insertContent('<pre id="' + id + '">' + text + '</pre>');
|
||||
ed.insertContent('<pre id="' + id + '" ' + brushClasses + '>' + text + '</pre>');
|
||||
} else {
|
||||
// 不是, 那么替换成<pre>
|
||||
text = html2BreakLine(node);
|
||||
$(node).replaceWith("<pre id='" + id + "'>" + text + "</pre>");
|
||||
$(node).replaceWith("<pre id='" + id + "'" + brushClasses + ">" + text + "</pre>");
|
||||
}
|
||||
var editor = LeaAce.initAce(id);
|
||||
if(editor) {
|
||||
editor.focus();
|
||||
if(brush) {
|
||||
editor.session.setMode("ace/mode/" + brush);
|
||||
var aceEditor = LeaAce.initAce(id);
|
||||
if(aceEditor) {
|
||||
aceEditor.focus();
|
||||
if(brush && brush != "convert") {
|
||||
aceEditor.session.setMode("ace/mode/" + brush);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -239,19 +241,23 @@ tinymce.PluginManager.add('leanote_code', function(editor, url) {
|
||||
var langs = [
|
||||
"Convert Code:convert",
|
||||
"CSS:css",
|
||||
"C/C++:c_cpp",
|
||||
"C#:csharp",
|
||||
"HTML:html",
|
||||
"Javascript:javascript",
|
||||
"C/C++:c_cpp",
|
||||
"C#:csharp",
|
||||
"Java:java",
|
||||
"Objective-c:objectivec",
|
||||
"PHP:php",
|
||||
"Python:python",
|
||||
"Shell:shell",
|
||||
"Ruby:ruby",
|
||||
"Shell:sh",
|
||||
"Delphi:delphi",
|
||||
"Golang:golang",
|
||||
"Erlang:erlang",
|
||||
"Groovy:groovy",
|
||||
"ActionScript:actionScript"
|
||||
"Latex:latex",
|
||||
"Xml:xml",
|
||||
"ActionScript:actionScript",
|
||||
];
|
||||
var items = [];
|
||||
for(var i in langs) {
|
||||
|
@ -1 +1 @@
|
||||
tinymce.PluginManager.requireLangPack("leanote_code"),tinymce.PluginManager.add("leanote_code",function(e,t){function n(e){return e?("object"==typeof e&&(e=$(e).html()),e.replace(/\<br *\/*\>/gi,"\n").replace(/<\/(p|li|div|ul|ol|hr)>/,"\n").replace(/(<([^>]+)>)/gi,"").replace(/\n\n/g,"\n")):e}function o(e){return e?("object"==typeof e&&(e=$(e).html()),e.replace(/\n/g,"<br />")):e}function a(e){r=tinymce.activeEditor;var t,a=r.selection.getNode(),c=r.selection.getContent(),i=LeaAce.isInAce(a),l=!1,d=!1;if(i&&(l=i[0],d=i[1]),$("#editorContent .toggle-raw").remove(),log("curNode:"),log(a),e&&"convert"!=e){if(l&&l.session.setMode("ace/mode/"+e),d||"PRE"!=a.nodeName||(d=$(a)),d){var s=LeaAce.getPreBrush(d);return void d.removeClass(s).addClass("brush:"+e)}}else if(e&&("BODY"==a.nodeName||"editorContent"==$(a).attr("id")))return;if(LeaAce.canAce()){var p=LeaAce.getAceId();if(LeaAce.disableAddHistory(),l){var g=l.getValue();g=g.replace(/</g,"<"),g=g.replace(/>/g,">"),g=g.replace(/\n/g,"<br />"),d.replaceWith("<p>"+g+"</p>"),l.destroy()}else{if("PRE"==a.nodeName){var d=$(a),g=d.html();return g&&(g=g.replace(/\n/g,"<br />")),void d.replaceWith("<p>"+g+"</p>")}var t=c;if(!t&&("BODY"==a.nodeName||"editorContent"==$(a).attr("id")))return;t?(t=n(t),r.insertContent('<pre id="'+p+'">'+t+"</pre>")):(t=n(a),$(a).replaceWith("<pre id='"+p+"'>"+t+"</pre>"));var u=LeaAce.initAce(p);u&&(u.focus(),e&&u.session.setMode("ace/mode/"+e))}LeaAce.resetAddHistory()}else if("PRE"!=a.nodeName&&(a=$(a).closest("pre").get(0)),a&&"PRE"==a.nodeName){var d=$(a),g=d.html();g&&(g=g.replace(/\n/g,"<br />")),d.replaceWith("<p>"+g+"</p>")}else{try{t=$.trim($(c).text())}catch(v){}t||(t=$.trim(c));var h=null,p=LeaAce.getAceId();t?(t=o(t),h='<pre id="'+p+'">'+t+"</pre>",r.insertContent(h)):a?(t=o(a),h='<pre id="'+p+'">'+t+"</pre>",$(a).replaceWith(h)):(h='<pre id="'+p+'">'+t+"</pre>",r.insertContent(h))}}function c(){return function(){var t=this;e.on("nodeChange",function(){var n=null;try{var o=e.selection.getNode();if("PRE"!=o.nodeName&&(o=$(o).closest("pre").get(0)),o){var a=LeaAce.isInAce(o),c=!1,r=!1;if(a||"PRE"==o.nodeName){a?(c=a[0],r=a[1]):r=$(o);var i=LeaAce.getPreBrush(r);n=$.trim(i.split(":")[1]),t.diableValue("convert",!1)}else t.diableValue("convert",!0)}}catch(l){log(l)}"convert"!=n&&t.value(n)})}}var r=e;e.addButton("leanote_code",function(){var e=["Convert Code:convert","CSS:css","C/C++:c_cpp","C#:csharp","HTML:html","Javascript:javascript","Java:java","PHP:php","Python:python","Shell:shell","Delphi:delphi","Golang:golang","Erlang:erlang","Groovy:groovy","ActionScript:actionScript"],t=[];for(var n in e){var o=e[n].split(":");t.push({text:o[0],value:o[1]})}return{type:"listbox",text:"codeLang",tooltip:"toggleCode",values:t,fixedWidth:!0,onselect:function(e){e.control.settings.value&&a(e.control.settings.value)},onPostRender:c(t)}}),e.addButton("leanote_inline_code",{icon:"code",tooltip:"Inline Code",stateSelector:"code",onclick:function(){e.execCommand("mceToggleFormat",!1,"code")}}),LeaAce.canAce()&&e.addButton("leanote_ace_pre",{icon:"code",image:t+"/img/ace-pre2.png",tooltip:"Toggle ace with raw html",active:LeaAce.isAce===!1,onclick:function(){LeaAce.isAce===!1?(this.active(!1),LeaAce.isAce=!0,LeaAce.initAceFromContent(e)):(this.active(!0),LeaAce.allToPre(e),LeaAce.isAce=!1)}}),r.addCommand("toggleCode",a),r.addShortcut("ctrl+shift+c","","toggleCode"),r.addShortcut("command+shift+c","","toggleCode"),LeaAce.canAce()&&e.on("keydown",function(){var e=LeaAce.nowIsInAce();return e?(setTimeout(function(){e[0].focus()}),!0):void 0}),r.on("keydown",function(e){var t=e.which?e.which:e.keyCode;return 9==t?(e.shiftKey||r.insertContent(" "),e.preventDefault(),e.stopPropagation(),!1):void 0})});
|
||||
tinymce.PluginManager.requireLangPack("leanote_code"),tinymce.PluginManager.add("leanote_code",function(a,b){function c(a){return a?("object"==typeof a&&(a=$(a).html()),a.replace(/\<br *\/*\>/gi,"\n").replace(/<\/(p|li|div|ul|ol|hr)>/,"\n").replace(/(<([^>]+)>)/gi,"").replace(/\n\n/g,"\n")):a}function d(a){return a?("object"==typeof a&&(a=$(a).html()),a.replace(/\n/g,"<br />")):a}function e(a){g=tinymce.activeEditor;var b,e=g.selection.getNode(),f=g.selection.getContent(),h=LeaAce.isInAce(e),i=!1,j=!1;h&&(i=h[0],j=h[1]),$("#editorContent .toggle-raw").remove();var k='class="brush:'+a+'"';if(a&&"convert"!=a){if(i&&i.session.setMode("ace/mode/"+a),j||"PRE"!=e.nodeName||(j=$(e)),j){var l=LeaAce.getPreBrush(j);return void j.removeClass(l).addClass("brush:"+a)}}else if(a&&("BODY"==e.nodeName||"editorContent"==$(e).attr("id")))return;if(LeaAce.canAce()){var m=LeaAce.getAceId();if(LeaAce.disableAddHistory(),i){var n=i.getValue();n=n.replace(/</g,"<"),n=n.replace(/>/g,">"),n=n.replace(/\n/g,"<br />"),j.replaceWith("<p>"+n+"</p>"),i.destroy()}else{if("PRE"==e.nodeName){var j=$(e),n=j.html();return n&&(n=n.replace(/\n/g,"<br />")),void j.replaceWith("<p>"+n+"</p>")}var b=f;if(!b&&("BODY"==e.nodeName||"editorContent"==$(e).attr("id")))return;b?(b=c(b),g.insertContent('<pre id="'+m+'" '+k+">"+b+"</pre>")):(b=c(e),$(e).replaceWith("<pre id='"+m+"'"+k+">"+b+"</pre>"));var i=LeaAce.initAce(m);i&&(i.focus(),a&&"convert"!=a&&i.session.setMode("ace/mode/"+a))}LeaAce.resetAddHistory()}else if("PRE"!=e.nodeName&&(e=$(e).closest("pre").get(0)),e&&"PRE"==e.nodeName){var j=$(e),n=j.html();n&&(n=n.replace(/\n/g,"<br />")),j.replaceWith("<p>"+n+"</p>")}else{try{b=$.trim($(f).text())}catch(o){}b||(b=$.trim(f));var p=null,m=LeaAce.getAceId();b?(b=d(b),p='<pre id="'+m+'" '+k+">"+b+"</pre>",g.insertContent(p)):e?(b=d(e),p='<pre id="'+m+'" '+k+">"+b+"</pre>",$(e).replaceWith(p)):(p='<pre id="'+m+'" '+k+">"+b+"</pre>",g.insertContent(p))}}function f(){return function(){var b=this;a.on("nodeChange",function(){var c=null;try{var d=a.selection.getNode();if("PRE"!=d.nodeName&&(d=$(d).closest("pre").get(0)),d){var e=LeaAce.isInAce(d),f=!1,g=!1;if(e||"PRE"==d.nodeName){e?(f=e[0],g=e[1]):g=$(d);var h=LeaAce.getPreBrush(g);c=$.trim(h.split(":")[1]),b.diableValue("convert",!1)}else b.diableValue("convert",!0)}}catch(i){log(i)}"convert"!=c&&b.value(c)})}}var g=a;a.addButton("leanote_code",function(){var a=["Convert Code:convert","CSS:css","HTML:html","Javascript:javascript","C/C++:c_cpp","C#:csharp","Java:java","Objective-c:objectivec","PHP:php","Python:python","Ruby:ruby","Shell:sh","Delphi:delphi","Golang:golang","Erlang:erlang","Groovy:groovy","Latex:latex","Xml:xml","ActionScript:actionScript"],b=[];for(var c in a){var d=a[c].split(":");b.push({text:d[0],value:d[1]})}return{type:"listbox",text:"codeLang",tooltip:"toggleCode",values:b,fixedWidth:!0,onselect:function(a){a.control.settings.value&&e(a.control.settings.value)},onPostRender:f(b)}}),a.addButton("leanote_inline_code",{icon:"code",tooltip:"Inline Code",stateSelector:"code",onclick:function(){a.execCommand("mceToggleFormat",!1,"code")}}),LeaAce.canAce()&&a.addButton("leanote_ace_pre",{icon:"code",image:b+"/img/ace-pre2.png",tooltip:"Toggle ace with raw html",active:LeaAce.isAce===!1,onclick:function(){LeaAce.isAce===!1?(this.active(!1),LeaAce.isAce=!0,LeaAce.initAceFromContent(a)):(this.active(!0),LeaAce.allToPre(a),LeaAce.isAce=!1)}}),g.addCommand("toggleCode",e),g.addShortcut("ctrl+shift+c","","toggleCode"),g.addShortcut("command+shift+c","","toggleCode"),LeaAce.canAce()&&a.on("keydown",function(a){var b=LeaAce.nowIsInAce();return b?(setTimeout(function(){b[0].focus()}),!0):void 0}),g.on("keydown",function(a){var b=a.which?a.which:a.keyCode;return 9==b?(a.shiftKey||g.insertContent(" "),a.preventDefault(),a.stopPropagation(),!1):void 0})});
|
Reference in New Issue
Block a user