前段时间找了syntax-highlighter-with-add-button-in-editor插件,具体见简单方便的代码高亮插件推荐(编辑方便)

可是鉴于这个插件是使用syntax-highlighter开发的,其中本身就有问题,当代码长度过长的时候呢,是不会自动换行的,只能在特定的字符的时候才会换行,所以代码一长,就超出来了。看了一下syntax-highlighter-with-add-button-in-editor作者的博客,也看到了他给的关键性代码,所以自己也拿过来借鉴借鉴。

由于我用的是wp-codebox,代码高亮这个东西,用的时间长了,就不能换了,因为很多代码高亮的插件的语法都是不一样的,如果换了的话,每一篇有代码的文章都要去改一下,这个实在是太烦了,所以我决定把wp-codebox改进,增强一下,让插入代码更加方便快捷。取名为wp-codebox++。

特点:

1.后台在写文章的下方加入插入代码的输入框

插入代码的时候每次都要手动写代码<pre lang="....." line="...">code...</pre>,麻烦死了。现在有了这款插件,只要在后台选择你插入的代码的语言,填写开始的行号和文件名(也可以不写),以及默认是否展开。关于wp-codebox的语法使用方法,请查看WP-codebox的使用注意事项

后台的截图如下。

wp-codebox++

2.可视化和HTML模式可随意切换

当使用wp-codebox插入代码的时候,总是要先到HTML模式下,然后插入代码,如果再返回到可视化,pre标签中的有些属性就会消失,比如file、line、colla。这个问题一直是我想解决的,经过重重猜测和实验,终于知道是Tinymce编辑器的问题,它会自动清除不属于XHTML 1.0标准的HTML标签。对于我这个不懂的人来说,确实太难了。找了很多资料和方法,也给Tinymce的作者发了邮件,可是木有回。只得自己再找,弄了五天了,终于在第四天让我找了一个关键性的资料。WordPress编辑器 WordPress编辑器优化修改全攻略

终于可以自由切换,不怕pre中的标签丢失了。

3.修改了工具栏的相关格式

wp-codebox插件本身可设置是否显示工具栏。显示工具栏的格式也进行了相关修改,使得更加好看。

4.自动转化<、>、&等这样的符号

在用wp-codebox时,从HTML转换到可视化时,会把例如<、>、&等这样的符号,转化成别的符号。用了leo108的JS方法,就可以过滤了,可视化完全没问题。可是当使用到wp-codebox的时候,出问题了,显示代码的时候,会显示成&lt,&gt这样的符号。所以只好改了geshi.php中的相关语句,再转化一次。这样就木有问题了。

注意事项

1.选择的语法,只有常见的。

如果想加入自己需要的语言,可修改插件文件夹中的main.php文件<select id="language">。。。。</select>中的option选项。自己定制。另外,为了减少插件的大小,可删除插件中geshi\geshi中的不需要的语言文件,以及插件根目录下的mo和po翻译语言文件。

2.代码字体问题

可能每个人的代码字体大小都需要和自己使用的主题匹配,但是wp-codebox有自己的CSS文件,就算你改主题的CSS也木有用,要改的话自己改插件中的CSS文件夹中的codebox.css文件吧。

3.pre中标签问题

当在wp-codebox选项中取消工具栏选项的话,不管colla是+还是-,都会直接显示,而不会再可以选择是否显示。不管file到底有没有填写,都不会提供文件下载了。View Source的功能也不会出现了。

当line="n"时,表示行号从0开始。如果line=""时,表示不显示行号。

尚未解决的问题

1.代码复制问题

当在有工具栏的时候,才会有复制代码的选项,而且只能在IE下复制。这点还没想好怎么解决。

2.代码换行问题

当代码长度过长的时候,横向会出现滚动条,自己拉动,如果设置CSS,使得自动换行,可是行号就不对了,这个问题也没有解决。

3.插件发布问题

我不知道这个能不能单独发出来,上交到wordpress插件官网,取名为wp-codebox++,算不算侵权呢?不管了,先放出来,给有需要的人用一下吧,看看有什么问题嘛。欢迎向我反馈,联系方式关于Laycher。

 插件下载

DBank网盘:http://dl.dbank.com/c0u4pgn3ro

本站下载:wp-codebox++

 插件安装

与一般的插件方法一样,上传到wordpress的plugins文件夹中,在插件选项中开启即可。

>> 若为原创,转载请注明: 转载自Laycher's Blog

>> 本文链接地址: WP-Codebox增强版,插入代码更方便

>> 订阅本站: http://feed.feedsky.com/laycher