JCK Patched Editor 2.4.6.1 Beta1(http://www.joomlagate.com/component/option,com_remository/Itemid,48/func,fileinfo/id,289/) 能够很方便的支持语法加亮显示。目前它所支持的语言有 C++、C#、CSS、Delphi、Java、JavaScript、PHP、Python、Ruby、SQL、VB.NET、XML/HTML。因为它所采用的语法着色程序是 db.syntaxhighlighter,而我之前对 db.syntaxhighlighter 也有一定的研究,它对其他语法的支持扩展是很容易的,加把相应的刷子而已。
这里先讲安装好 JCK Patched Editor 之后,如何让它支持 Groovy 和 Scala 语法。
1. 下载 Groovy/Scala 刷子脚本
在页面 http://code.google.com/p/syntaxhighlighter/source/browse/trunk/Scripts/?r=92 下载到 shBrushGroovy.js 和 shBrushScala.js 这两个脚本,放到 Joomla 站点的目录 /plugins/content/joomler_syntaxhighlighter/Scripts/ 中。
2. 使编辑框的下拉选项中有 Groovy/Scala 可选
修改文件 /plugins/editors/jck/editor/plugins/syntaxhighlight/dialog/fck_syntaxhighlight.html,在 <select id="ddLang"> 标识的下拉选项中加上:
<option value="groovy">Groovy</option>
<option value="scala">Scala</option>
3. 告诉 db.syntaxhighlighter 怎么应用那两把刷子
这一步稍显麻烦点,要修改文件 /plugins/content/joomler_syntaxhighlighter.php,有三小步要做。
1) 找到 if(empty($this->Jlr_SHParams->J_Syntaxlang)){} 代码块,大约在第 80 行,仿照着块中的内容,加上两行:
$J_Syntaxlang->Groovy = true;
$J_Syntaxlang->Scala = true;
2) 加入 groovy/scala 别名,在函数 function Joomler_JsLoader() 中,在数组变量 $Alias 中添加两项' groovy'、'scala',记住它们的位置。我是把它们加在 'vb.net' 和 'xml' 之间,看起来就是:
$Alias = arry(......'vb', 'vb.net','groovy','scala','xml', 'html'......)
'groovy' 和 'scala' 的下标分别是 23 和 24。
3) 依照上面 'groovy' 和 'scala' 在别名数组中的下标,还是在 function Joomler_JsLoader() 函数的switch($lang){} 块的 default: 前面加上代码:
case 23:
if(!$J_Syntaxlang->Groovy){
return;
} else {
$J_Syntaxlang->Groovy = false;
$fn = 'Groovy';
}
break;
case 24:
if(!$J_Syntaxlang->Scala){
return;
} else {
$J_Syntaxlang->Scala = false;
$fn = 'Scala';
}
break;
OK,现在可以支持 Groovy 和 Scala 语法加亮了。
也可以改进 JCK Patched Editor 插件安装包,让安装包直接支持 Groovy/Scala 语法,不用安装后再修改源文件,做法与上面差不多,只不过修改的是压缩包中的文件。下载到的 JCK Patched Editor 安装文件是:plg_JCK-Patched-Editor-v2.6.4.1-beta1-J15-Chinese.zip。还是参考上面的步骤。
1. 把下载的 shBrushGroovy.js 和 shBrushScala.js 放到 plg_JCK-Patched-Editor-v2.6.4.1-beta1-J15-Chinese.zip\joomler_syntaxhighlighter.zip\joomler_syntaxhighlighter\Scripts 目录中。
2. 修改文件 plg_JCK-Patched-Editor-v2.6.4.1-beta1-J15-Chinese.zip\jck.zip\jck\editor\plugins\syntaxhighlight\dialog\fck_syntaxhighlight.html,要加的内容与前面的第二步一样。
3. 修改文件 plg_JCK-Patched-Editor-v2.6.4.1-beta1-J15-Chinese.zip\joomler_syntaxhighlighter.zip\joomler_syntaxhighlighter.php,要修改的内容与以上的第三步是一样的。
最后两步是安装所需要的。
4. 修改文件 plg_JCK-Patched-Editor-v2.6.4.1-beta1-J15-Chinese.zip\joomler_syntaxhighlighter.zip\joomler_syntaxhighlighter.xml,在<<files> 里面加上两行:
<filename>joomler_syntaxhighlighter/Scripts/shBrushGroovy.js</filename>
<filename>joomler_syntaxhighlighter/Scripts/shBrushScala.js</filename>
也就是要告诉安装程序安装的时候要拷贝这两个文件进去。
5. 这一小不必要,但还是应该负责任的在文件 plg_JCK-Patched-Editor-v2.6.4.1-beta1-J15-Chinese.zip\\jck.zip\jck\editor\plugins\syntaxhighlight\docs\install.html 文件中,找到 <li><strong>ruby</strong> - Ruby</li>,可在其后加上两行:
<li><strong>groovy</strong> - Groovy</li>
<li><strong>scala</strong> - Scala</li>
要注意仍然保持安装包 plg_JCK-Patched-Editor-v2.6.4.1-beta1-J15-Chinese.zip 中的层次结构,您只要安装完这个再次补丁后 JCK-Patched-Editor 压缩包,就马上能支持 Groovy 和 Scala 语法高亮显示了。
看看对这种语方支持的效果吧,后面没什么好说的,就是会在插入代码选择语言时多了两个选项:Groovy 和 Scala。前台截了个图: