SyntaxHighlighter–用JS来高亮你的代码!

2008-6-16  15:07

    一直在研究DEDECMS,但是对于我这种人来说他的编辑器很是恼火,因为我时常需要在文章里面贴代码,而DEDE里面用的FCDEditor是改装版的,我改起来非常之麻烦,曾经尝试过用FCK自带的代码高亮效果,但是没有用,昨天看到一个叫SyntaxHighlighter的东西,JS的,用起来效果非常之好,我就想能不能移植到DEDE上呢?

   SyntaxHighlighter用起来十分之简单,只需要导入CSS文件和相应的JS文件,然后把代码放到<pre></pre>部分中再定义一下就好了,例:

XML/HTML代码
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  2. <html xmlns="http://www.w3.org/1999/xhtml">  
  3. <head>  
  4. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  
  5. <title>无标题文档</title>  
  6. </head>  
  7.   
  8. <body>  
  9. <pre name="code" class="PHP:collapse:firstline[10]">  
  10. echo "this is a test";   
  11. var_dump($arr);   
  12. </pre>  
  13.   
  14. <link type="text/css" rel="stylesheet" href="Styles/SyntaxHighlighter.css"></link>  
  15. <script language="javascript" src="Scripts/shCore.js"></script>  
  16. <script language="javascript" src="Scripts/shBrushPhp.js"></script>  
  17. <script language="javascript" src="Scripts/shBrushXml.js"></script>  
  18. <script language="javascript" src="Scripts/shBrushCss.js"></script>  
  19. <script language="javascript" src="Scripts/shBrushJscript.js"></script>  
  20. <script language="javascript" src="run.js"></script>  
  21.   
  22. </body>  
  23. </html>  

pre部分参数介绍:
      class: 定义代码的类型,例如PHP或者Java;

      附加参数:
nogutter 不显示列 
nocontrols 不显示顶部的控制条(复制等) 
collapse 折叠代码 
firstline[value] 定义起始行号,默认为1 
showcolumns 显示行号

   它还有一个HighlightAll的方法,可以高亮显示本页所有以pre或者textarea 包围的代码.
function dp.SyntaxHighlighter.HighlightAll(name, [showGutter], [showControls], [collapseAll], [firstLine], [showColumns])

name 必须 <pre> 或者 <textarea> 的名字.
showGutter 可选 是否显示列号.
showControls 可选 是否显示控制条.
collapseAll 可选 是否折叠代码.
firstLine 可选 起始行号.
showColumns 可选 是否显示行号.

   另外还找到一个现成的代码:有人以及把它做成插件集成到FCK里面了,嘿嘿,这不是帮我的大忙了么?不用我自己搞了^_^

附:
SyntaxHighlighter下载地址:http://code.google.com/p/syntaxhighlighter/downloads/list
FCK的SyntaxHighlighter下载地址(使用说明在文件中有): fck_highlighter.7z

再附(呵呵):一个现成的代码高亮的网站,可以把你贴进去的代码进行高亮处理,支持多个主题,可直接复制粘贴高亮代码到各个网站、blog主流编辑器。地址:http://www.fayaa.com/code/new/

此文一共有3条留言

  1. Seaprince:

    2008-6-19 09:25:18

    看我的就是了,很久了。在FCK编辑器里加了一个按钮。

  2. 半瓶墨水:

    2008-6-25 09:12:20

    效果不错。
    也可以考虑到代码发芽网贴一下然后复制粘贴到blog,这样无须插件就有代码高亮了,有几种配色主题可供选择。

    比如我在百度空间贴的这一篇:
    http://hi.baidu.com/2maomao/blog/item/124fd31bfa6461d0ad6e7583.html

    代码发芽网网址:
    http://www.fayaa.com/code/
        
    完整的介绍:
    http://www.2maomao.com/blog/code-fayaa-beta/

  3. sharmy:

    2008-6-25 11:41:46

    汗….

发表评论