文章分类阅读
会员登录
最新评论
- 好好!一定要试试看的,其实我一 直很期待joomla整合dis cuz X1的!
作者: ultramankiki - 继承和传承,中国人喜欢,没想到 老外也喜欢。传承没有理由。我们 就当是joomla传承MAMB O,...
作者: ljoooooooo - 怎样去除Portfolio Design 的链接啊
作者: 11025 - 下载链接出错了,不能下载哦
作者: shrine - Content static静态化之后,页面上 的图片保存的是相对路径,再次浏 览的时候,就无法找到...
作者: babyfish
| geshibot 使用详解 | ![]() |
| 作者:白建鹏 | |||
| 2007-01-04 | |||
Geshibot是一个Joomla的标准触发器(mambot),基于著名的Geshi程序开发。说实话,我一看到Geshi这个名字,老是联想到汉语拼音,怀疑它是不是“葛氏”的意思啊。后来才知道,Geshi 是Generic Syntax Highlighter(通用语法高亮显示)的缩写。呵呵,原来是专门作程序代码嵌入显示的。 用Joomla建站时,难免有些文章中需要插入一段代码,比如像本站的“教程”栏目。凡是涉及修改程序代码的示范,总要把源代码及修改方法清清楚楚地介绍给读者。但是,Joomla本身对插入代码这件事情处理得不够好。在安装Joomla时,可以看到已经内置一个叫做Geshi的触发器,但是功能要弱得多,并且默认是未发布的。 于是“有高人出,发Gehsibot以利万民”,呵呵。 Geshibot是将Geshi这款独立的代码高亮显示程序打包成为标准触发器,并且加入一些新特性。本站已经将它汉化并发布到下载栏目。安装过程与其他触发器相同。安装后在后台进行简单设置并发布此触发器,就能在文章中使用了。 Geshibot的使用语法支持两种标记,即{geshibot}和<pre>。当然,在后台参数设置中,你也可以只选定支持其中一个。 Geshibot显示程序代码的优点有:
在文章中需要插入代码的地方,将你的要展示的代码用{geshibot}代码{/geshibot}或者<pre>代码</pre> 的语法写入即可。 Geshibot触发器还支持3个标记属性,即 lang或langauge,head或header,foot或footer。第一个属性lang指定该代码所属的计算机语言,以便使用相应的高亮模式;第二个属性head允许在展示代码的区块上边框上显示一个表头;第三个属性foot则允许在展示代码的区块底部边框显示一个自定义的脚注。 比如,本文下面的代码展示就使用了这样的语法: {geshibot lang="css" head="新添代码" foot="本代码由AutoIt友情赠送"} 不过,在使用过程中,我发现Geshibot有一个很严重的问题就是不能解决代码语句换行的问题。有时候,一行php代码在屏幕上可能要连续两行才能显示,由于大部分Joomla网站展示文章的宽度并非屏幕全宽,因此导致用Geshibot展示的代码由于无法自动换行而强行拉宽网页,并且使文章跳出mainbody位置而独立显示。这对网站的外观美是一个很大的障碍。 这个问题困扰了我很久,但是一直没有找到合适的解决方法。我曾经给软件作者写信,但是他也没有什么好招。然而昨天,AutoIt却将这个问题轻易地解决了。 AutoIt大侠使用的手段很简单:利用CSS来控制Geshi进行换行。方法是,在你的当前网站前台模板的 /css/template_css.css 文件中插入以下代码: /* added to make embeded code autowrap according to line length */
pre {
white-space: pre-wrap; /* css-3 */
white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
white-space: -pre-wrap; /* Opera 4-6 */
white-space: -o-pre-wrap; /* Opera 7 */
}
* html pre {
word-wrap: break-word; /* Internet Explorer 5.5+ */
white-space : normal ; /* Internet Explorer 5.5+ */
}不过有一点要注意:Geshibot后台设置参数中,允许定义选用CSS的来源,一种是“使用Joomla/Mambo CSS”,另一个选项是“使用自定义CSS”。如果选为前者,刚才说的修改方案才能生效。如果选为后者,那么就不能把上述代码插入到网站模板的CSS文件中了,而必须粘贴到Geshibot后台“自定义CSS”的那个输入框里。 经过试用,AutoIt发明的这个方法果然有效。真是“踏破铁鞋无觅处,得来全不费功夫”,呵呵。在此感谢AutoIt大侠又给Joomla用户带来一件珍贵的礼物。 当然,Geshi本身还有一个功能就是可以自定义起始行号。这对于讨论程序代码文件非常方便。比如我们要告诉读者修改某文件第147行至153行代码,我们就可以在Geshi中指定代码起始行号为147,那么读者看到的样子应该非常接近原文,而不是现在这样自动从1开始。遗憾的是,这个功能在Geshibot中还没有被实现。我们期待作者能够继续改进这个触发器。
|



