Joomla/geshibot使用详解

来自站长百科
跳转至: 导航、​ 搜索

Joomla | Joomla使用手册

Geshibot是一个Joomla的标准触发器(mambot),基于著名的Geshi程序开发。Geshi是Generic Syntax Highlighter(通用语法高亮显示)的缩写。是专门作程序代码嵌入显示的。

用Joomla建站时,难免有些文章中需要插入一段代码。凡是涉及修改程序代码的示范,总要把源代码及修改方法清清楚楚地介绍给读者。但是,Joomla本身对插入代码这件事情处理得不够好。在安装Joomla时,可以看到已经内置一个叫做Geshi的触发器,但是功能要弱得多,并且默认是未发布的。

Geshibot简介[ ]

Geshibot是将Geshi这款独立的代码高亮显示程序打包成为标准触发器,并且加入一些新特性。安装过程与其他触发器相同。安装后在后台进行简单设置并发布此触发器,就能在文章中使用了。Geshibot的使用语法支持两种标记,即{geshibot}和<pre>。当然,在后台参数设置中,你也可以只选定支持其中一个。

Geshibot显示程序代码有以下优点:

  • 显示行号;
  • 可以根据不同计算机语言进行相应高亮方式调整;
  • 支持几乎所有计算机语言,包括常见的BASICCC++HTMLPHPASPDELPHI等;
  • 可以自定义CSS样式
  • 在文章中需要插入代码的地方,将你的要展示的代码用{geshibot}代码{/geshibot}或者<pre>代码</pre> 的语法写入即可。

Geshibot触发器还支持3个标记属性,即 lang或langauge,head或header,foot或footer。第一个属性lang指定该代码所属的计算机语言,以便使用相应的高亮模式;第二个属性head允许在展示代码的区块上边框上显示一个表头;第三个属性foot则允许在展示代码的区块底部边框显示一个自定义的脚注。

比如,本文下面的代码展示就使用了这样的语法:

{geshibot lang="css" head="新添代码" foot="本代码由AutoIt友情赠送"}
代码 ....
{/geshibot}

AutoIt介绍[ ]

不过,在使用过程中,发现Geshibot有一个很严重的问题就是不能解决代码语句换行的问题。有时候,一行php代码在屏幕上可能要连续两行才能显示,由于大部分Joomla网站展示文章的宽度并非屏幕全宽,因此导致用Geshibot展示的代码由于无法自动换行而强行拉宽网页,并且使文章跳出mainbody位置而独立显示。这对网站的外观美是一个很大的障碍。

针对以上问题,可以用AutoIt来解决。AutoIt使用很简单:利用CSS来控制Geshi进行换行。方法是,在你的当前网站前台模板的 /css/template_css.css 文件中插入以下代码:

/* added to make embeded code autowrap according to line length */
02
pre {
03
 white-space: pre-wrap;       /* css-3 */
04
 white-space: -moz-pre-wrap;  /* Mozilla, since 1999 */
05
 white-space: -pre-wrap;      /* Opera 4-6 */
06
 white-space: -o-pre-wrap;    /* Opera 7 */
07
}
08
 
09
* html pre {
10
 word-wrap: break-word;       /* Internet Explorer 5.5+ */
11
 white-space : normal ;       /* Internet Explorer 5.5+ */
12
}

不过有一点要注意:Geshibot后台设置参数中,允许定义选用CSS的来源,一种是“使用Joomla/Mambo CSS”,另一个选项是“使用自定义CSS”。如果选为前者,刚才说的修改方案才能生效。如果选为后者,那么就不能把上述代码插入到网站模板的CSS文件中了,而必须粘贴到Geshibot后台“自定义CSS”的那个输入框里。

Geshi本身还有一个功能就是可以自定义起始行号。这对于讨论程序代码文件非常方便。比如我们要告诉读者修改某文件第147行至153行代码,我们就可以在Geshi中指定代码起始行号为147,那么读者看到的样子应该非常接近原文,而不是现在这样自动从1开始。遗憾的是,这个功能在Geshibot中还没有被实现。

参考来源[ ]

http://www.joomlagate.com/article/joomla10-tutorial/geshibot-tutorial/

Joomla 1.0使用手册导航

Joomla安装

Joomla!的安装

Joomla 1.0教程

让网站自动适应掌上电脑阅读版面 | MosIf的使用 | Joomla登录模块的DIY改造| 用下拉式页面跳转替换Joomla跳转列表 | configuration.php文件操作 | 用blog形式做简单的产品展示 | 将DreamHost的mysql数据导入及导出的问题 | 给页面顶端添加ActiveX Infobar | 用JA Transmenu模块做多级弹出菜单 | 用桥接器整合开源Gallery2图库到Joomla | 用CB Profile Gallery搭建交友网站的会员相册 | 在网页中插入Google Map地图 | VM中产品详情只显示大图的实现 | Joomla!扩展(组件、模块、触发器)的汉化 | Joomla! Pack的使用 | 应用JSMF桥接器在Joomla!上安装SMF论坛 | Advanced Flash Mp3 Player播放器模块用法 | Joomla/Allvideos Plugin 引用视频、音频的方法|geshibot使用详解 | 表格式模板列宽度自动扩展的实现 | Joomla! Tkit使用详解 | Community Builder 1.0.2 的安装方法 | 利用CSS给文章标题添加图片 | 如何选择合适的下载组件 | 让Joomla支持flash格式的banner

其他Joomla教程

用XAMPP快速搭建Joomla本地测试服务器 | 用Gmail的SMTP发送Joomla激活及通知邮件 | 深入认识Joomla CMS:扩展、菜单及模板 | Joomla 1.5教程 | Joomla高级教程 | Joomla! SEO教程