drupal代码高亮模块geshifilter的安装和使用

0×01: 模块安装
http://sourceforge.net/projects/geshi/files/geshi/ 下载 GeSHi 1.0.x releases ,
解压后将geshi目录置于 sites/all/libraries下面
http://drupal.org/project/geshifilter 下载 7.x-1.0-alpha2 ,解压后放在sites/all/modules
然后下载 Libraries API(2.x-dev). http://drupal.org/project/libraries (注意一定要下载2.x-dev版本的)
同样是放在sites/all/modules

激活 Libraries API (2.x-dev) ,激活GeSHi Filter 7.x-1.0-alpha2 (这里只需激活GeSHi Filter ) 。
其中的 GeSHi field 无法激活,提示 Content (missing) 。不知这个 Content 是哪个模块,在官方没有找到,不过不激活也不影响代码高亮。
0×02:模块配置
进后台配置:
admin/config/content/geshifilter
显示 GeSHi library version 1.0.8.10 detected,说明libraries模块你下载了正确的版本,geshifilter顺利找到geshi库啦。 :mrgreen:
Default highlighting mode 是默认高亮语言,可以设置为纯文本或者你喜欢的语言。
Default line numbering 就选择 nomal line numbers 吧。
CSS mode for syntax highlighting 设置为Inline CSS style attributes. 这样,在FEED中也能看到高亮的效果。
Code container, wrapping technique 设置为GESHI_HEADER_PRE_TABLE ,这样复制代码时就不会把行号复制进去了。
保存设置。

然后再到admin/config/content/formats (管理 » 配置 » 内容写作 » 文本格式)
分别设置各文件格式,启用geshifilter 并把其权重调到最上面。
Full HTML 为例,在启用过滤器 那里选中GeSHi filter
过滤器处理顺序 处把 GeSHi filter 的权重值修改为一个负值,如-10 。这样就让代码高亮模板优先处理文本,确保得到正确的高亮效果。
如果要为各个 文本格式 设定个性化的标签,可以在geshifilter的配置那里勾选上Use text format specific tag settings. (默认是使用geshifilter的配置那里设定的全局标签设置)。
现在可以测试下了。

0×03:模块使用
新建一“文章”类型的节点,使用 Full HTML 文本格式,OK,看下效果:

1
2
3
4
5
<php>
<?php
echo 'Hello Drupal!';
?>
</php>

0×04:注意事项

1,如果你使用可视化编辑器的话,不能在这种编辑器下发布源码和修改源码。
2,geshi有一个BUG,如PHP语言,如果代码很长,其中最好不要包含<?php ?> 标签,要不然可能导致connection reset 的杯具发生。(本地也reset,很神奇是吧?和那啥GxxooFxxooWxxoo的屏蔽效果一样 :mrgreen:

第一次写关于Drupal的文章,折腾的过程中花了不少时间。

更多
One Response Post a comment
  1. welpher.yu

    太感谢了,原来那个libraries 是这个东西呀,我一直以为是其它东西

Leave a Reply

Note: You may use basic HTML in your comments. Your email address will not be published.

Subscribe to this comment feed via RSS