syntaxhighlighter模块使用

drupal中能使用的代码高亮模块并不多,之前我在别的站点上安装过geshifilter模块,geshifilter模块使用的是第三方php库GeSHi (Generic Syntax Highlighter) ,我平时写的最多的代码也就是CSS、HTML之类,感觉GeSHi处理代码高亮显示非常简单,如在处理HTML代码,它只是定义了html元素、以及html元素的属性,还有就是结束标签中“/”等这些颜色。而我们很多时候都会遇到HTML文档中包含CSS样式,GeSHi会把这些定义的CSS以文本来显示。

有了这个遗憾就想再找个模块来代替,在drupal.org的模块中找到syntaxhighlighter模块,使用SyntaxHighlighter Javascript Library,这个模块的好处在于能减轻服务器的负担。

安装syntaxhighlighter模块要将下载的SyntaxHighlighter Javascript Library解压放在syntaxhighlighter模块目录中的syntaxhighlighter目录中,通常是:\sites\all\modules\syntaxhighlighter\syntaxhighlighter

syntaxhighlighter模块的管理界面也很简单,并提供了6个风格供选择,看截图:syntaxhighlighter模块的管理界面

需要注意的是:
syntaxhighlighter模块安装会自动在输入格式:Full HTML中启用Syntax Highlighter,如果你想在其他输入格式开启Syntax Highlighter,必须关闭该输入格式“HTML 过滤器”

模块安装后,最好到“ 站点设置--性能” 执行“清理缓存数据”。(我在测试时发现的,没有执行“清理缓存数据”syntaxhighlighter并不生效)

要想在发布内容是使用syntaxhighlighter来实现代码高亮,加代码
<pre class="brush: lang;">
这里是你的代码
...
</pre>

class="brush: lang;"是必须的,其中lang可以是你所启用的语言,如你想使用php(class="brush: php;")

syntaxhighlighter模块不会将“<"和“>”转换的,所以在你贴代码之前最好找第三方的程序来解决转换,这一点也是我在使用这个模块前不知道的。

添加内容时看图2 php代码高亮效果看图3

对于个人网站应用我认为这个模块不合适。

ps:由于之前的图片放在http://picasaweb.google.com,但http://picasaweb.google.com长期被封,所以今日重新截了图片放在flickr.com

评论

发表新评论

此内容将保密,不会被其他人看见。
  • 自动将网址与电子邮件地址转变为链接。
  • 允许HTML标签:<a> <img> <em> <del> <strong> <cite> <code> <pre> <ul> <ol> <li> <dl> <dt> <dd> <h3> <h4> <h5> <h6>
  • 自动断行和分段。
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. The supported tag styles are: <foo>, [foo]. PHP source code can also be enclosed in <?php ... ?> or <% ... %>.

更多关於格式化选项的信息

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image.