Loading...

code-highlighter插件发布

类归于: PHP, Web技术|WEB Tech, Wordpress, 本站服务|Service — 江东 @ 2008-09-12 20:42:36 才(15)条评论

我用的代码高亮插件都是geshi,这个插件比较好,采用PEAR的formatter和coolcode相比,不用专门的标签,支持wp的原生态<code></code>格式的标签,所以一直以来都没有替换他。

但是这个插件有个缺点,那就是格式转换是在php端进行的,输入的代码非常的臃肿,并且也不方便复制,除非专门写javascript采用innerText来获取。所以很早就想对这个高亮重新处理。那么今天,我决定将我新处理的方式写成wp插件进行发布,这个插件的特点是对服务器的数据不做任何处理,仅仅在页面用javascript优化。所以在html源代码中甚至可以看到你的code原样。

插件下载地址:code-highlighter

特别鸣谢:http://code.google.com/p/samaxesjs/

本来是可以直接集成在模板中,但是考虑到某些朋友不愿意修改模板,所以弄成插件进行发布了!js的代码已经gzip压缩,文件大小由原来的42k降低到12k,希望不会影响到页面的载入速度。

补充,如果发现代码的半角标点被替换成全角标点,那么就是wordpress的formatting在作怪,修改wp-includes/formatting.php,把下面这一行给它注释掉:

// regular expressions
//$curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);

对了,顺祝大家中秋节愉快!
补充:测试样式表bug

补充(2008-09-16 11:30),看来仅仅特别感谢不够,有必要补充下面的内容:
此插件并非原创,它基于:

  1. http://code.google.com/p/samaxesjs/ or http://code.google.com/p/syntaxhighlighter/(看到留言,原来这个js高亮度代码还有另外一个主人。这两者之间什么关系啊,我彻底迷惑了,看样子好像是后者原创,但是我这个插件的JS来自前一个链接,高亮的JS版权,让他们自己去争吵吧,总之,感谢高亮JS的作者)
  2. php;
  3. wordpress;
  4. html;
  5. javascript;

另外,插件的原创和插件使用到脚本的原创没有必然关系吧,就如同1bloggerchache一样,人家使用了我的代码,但是他确实是原创。无所谓,是不是原创丝毫不影响我,你说不是便不是,我做的仅仅是让高亮的代码以插件的方式嵌入到WP的风格中,使之使用起来更加简单,然后在这个blog上分享而已。

真是搞笑,还分享过毛线啊!