Loading...

code-highlighter插件发布

我用的代码高亮插件都是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上分享而已。

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

标签:,
发表于 2008-09-12 20:42:36 目录:PHP, Web技术|WEB Tech, Wordpress, 本站服务|Service [RSS 2.0] 你可以发表评论, 或者从您的网站 trackback
feed url
feed url
上一篇: « Bloggermap改版进行中
下一篇: http://www.sanlu.com/ »

前15排已经被占据了 快抢好位置哦

  • 1楼 agon 在 2008.09.12 21:31发表评论如下:

    这个方式好,每个人一般也就用几种代码,把自己用的跳出来然后整合到一下,再压缩输出js估计只有几k,还是觉得coolcode的css样式最好看,要是这个css也能整成那样就超级好了
    是不是哪里没有处理好,http://www.storyday.com/html/y2007/1113_round-corner-div.html你的这个页面在我的ie6下和FF下显示不正常

    • 2楼 江东 在 2008.09.12 21:44发表评论如下:

      代码中的css被解释生效了,晕菜!

    • 3楼 江东 在 2008.09.12 21:47发表评论如下:

      coolcode的js太庞大,很早就放弃了

  • 4楼 Shawn 在 2008.09.12 21:52发表评论如下:

    你终于又出插件了,正好我缺个代码高亮的,拿走了。

    • 5楼 江东 在 2008.09.12 21:55发表评论如下:

      欢迎报告bug!其实这个插件也超简单!

  • 6楼 Shawn 在 2008.09.12 22:10发表评论如下:

    来一个,想问问这个插件能不能做个判断,比如我的content里面有code标签的时候它才hook到header里面去?

    • 7楼 江东 在 2008.09.12 22:14发表评论如下:

      刚开始我也这样想过,确实在single页面可以这样判断,减少js的载入,但是在category等页面就没有办法判断了。因此最后只有决定把css压缩到12k。

  • 8楼 agon 在 2008.09.12 23:27发表评论如下:

    我的意思是说这个css太难看,能不能还把SyntaxHighlighter.css换成coolcode的css样式,就像你改geshi的css那样,这样也可以和你以前的风格一样,我太菜,换了一下ie下显示有点不正常,期望能做一个coolcode风格版的

    • 9楼 江东 在 2008.09.12 23:30发表评论如下:

      soga,等我后面慢慢来美化!

  • 10楼 chenlb 在 2008.09.13 21:19发表评论如下:

    半角标点被替换成全角标点,可以用这个插件http://sparanoid.com/tag/quotmarks-replacer/

  • 11楼 雀巢 在 2008.09.13 23:54发表评论如下:

    暂时还不需要,需要的时候来你这里来下

  • 12楼 broom9 在 2008.09.16 11:10发表评论如下:

    。。。这个插件是别人的作品吧,不要写得好像是自己原创的一样

    dp.SyntaxHighlighter

    Version: 1.5.1
    http://www.dreamprojections.com/syntaxhighlighter

    ©2004-2007 Alex Gorbatchev.

    • 13楼 江东 在 2008.09.16 11:15发表评论如下:

      我有说是原创么?请仔细看内容,明明告诉大家了,这个是基于JS的(js来源已经在本文中特别鸣谢的地方写清楚了地址),只是通过插件的模式集成到wptheme中了,搞得好像我把别人的代码修改成自己的,然后发布一样(我的cos-html-cache曾被人这样)。js代码为没有做任何修改,包括注释中的作者信息,这个插件仅仅是方便使用WP的朋友使用这个syntaxhighlighter而已

  • 14楼 agon 在 2008.09.21 14:17发表评论如下:

    firefox和opera下没有copy to clipboardprint选项,而且在firefox下复制的时候会连行号一起复制下来,或者是行号变#号,ie好像都正常

    • 15楼 江东 在 2008.09.21 14:21发表评论如下:

      js本身的弱点,利用flash应该是很容易完成这个功能的,可惜这个js代码不是我写的,呵呵

  • 转到第
(Required)
(Required, not published)
如果留言未显示请不要重复留言,我将为你恢复!