Loading...

code-highlighter插件发布

2008-09-12 20:42:36 发表于PHP, Wordpress, 本站服务, 网站技术 本文链接: 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, Wordpress, 本站服务, 网站技术 [RSS 2.0] 你可以发表评论, 或者从您的网站 trackback
  • 相关阅读
  • homezz 美国专业主机商
    feed url
    上一篇: « Bloggermap改版进行中
    下一篇: http://www.sanlu.com/ »
    已经有16位大师动手指导 拒绝低俗
    • 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下显示不正常

      • 1楼附属品 江东 在2008.09.12 21:44发表评论如下: 回复

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

        • 1楼附属品 江东 在2008.09.12 21:47发表评论如下: 回复

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

        • 2楼 Shawn 在2008.09.12 21:52发表评论如下: 回复

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

          • 2楼附属品 江东 在2008.09.12 21:55发表评论如下: 回复

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

          • 3楼 Shawn 在2008.09.12 22:10发表评论如下: 回复

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

            • 3楼附属品 江东 在2008.09.12 22:14发表评论如下: 回复

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

            • 4楼 agon 在2008.09.12 23:27发表评论如下: 回复

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

            • 5楼 chenlb 在2008.09.13 21:19发表评论如下: 回复

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

              • 6楼 雀巢 在2008.09.13 23:54发表评论如下: 回复

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

                • 7楼 broom9 在2008.09.16 11:10发表评论如下: 回复

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

                  dp.SyntaxHighlighter

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

                  ©2004-2007 Alex Gorbatchev.

                  • 7楼附属品 江东 在2008.09.16 11:15发表评论如下: 回复

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

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

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

                    • 8楼附属品 江东 在2008.09.21 14:21发表评论如下: 回复

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

                    • 9楼 lear 在2009.02.25 21:41发表评论如下: 回复

                      找来找去,这个插件最好!谢谢。

                      评论分页: 1
                      (Required)
                      (Required, not published)
                      如果留言未显示无需重复留言,我将为你恢复!