我正在使用基于WYSIHTML5(https://github.com/xing/wysihtml5)的WYSIHTML5 Bootstrap(http://jhollingworth.github.com/bootstrap-wysihtml5),这对于在复制粘贴时清理HTML非常棒.网站.
我希望能够将代码处理到编辑器中,然后使用HighlightJS突出显示语法.
我已经创建了一个新按钮并复制了wysihtml5.js中使用的方法来切换加粗<b>和关闭,使用<pre>:
(function(wysihtml5) {
var undef;
wysihtml5.commands.pre = {
exec: function(composer, command) {
return wysihtml5.commands.formatInline.exec(composer, command, "pre");
},
state: function(composer, command, color) {
return wysihtml5.commands.formatInline.state(composer, command, "pre");
},
value: function() {
return undef;
}
};
})(wysihtml5)
Run Code Online (Sandbox Code Playgroud)
但这还不够.编辑时编辑器会隐藏标签.我需要能够将我的内容包装在两者中<pre>,<code>即.<pre><code></code></pre>.
这意味着编写一个与wysihtml5使用的函数不同的函数,我不知道如何......有人可以帮助我吗?
这是wysihtml5中formatInline函数的代码:
wysihtml5.commands.formatInline = {
exec: function(composer, command, tagName, className, classRegExp) {
var range = composer.selection.getRange();
if (!range) {
return false;
}
_getApplier(tagName, className, classRegExp).toggleRange(range);
composer.selection.setSelection(range);
}, …Run Code Online (Sandbox Code Playgroud)