陈建华的博客
专注web开发
为mediawiki添加GeSHi代码高亮库
2016-09-29 15:00:59   阅读997次

下面就GeSHi在Mediawiki下的安装方法做一下介绍:

下载最新版本的GeSHi(http://qbnz.com/highlighter),当前的最新版本是1.0.8.10。本系统使用的mediawiki版本为1.16。

解压,然后复制或剪切geshi目录到你的mediawiki的扩展目录(extensions)下(建议删除contrib和docs两个目录及其内容)。

在mediawiki的扩展目录(extensions)下新建文件GeSHiHighlight.php,文件内容如下:

<?php
require_once("geshi/geshi.php");
define("GESHI_PATH","extensions/geshi/geshi");
class SyntaxSettings {};
$wgSyntaxSettings = new SyntaxSettings;
$wgExtensionFunctions[] = "wfSyntaxExtension";
function wfSyntaxExtension() {
        global $wgParser;
        $langArray = geshi_list_languages(GESHI_PATH);
 foreach ( $langArray as $lang ){
                if ($lang == "" || $lang == "div") continue;
                $wgParser->setHook( $lang,
                create_function( '$text', '$geshi = new GeSHi(trim($text,"/n/r"), "' ."$lang". '", GESHI_PATH);
                return $geshi->parse_code();'));
        }
}
function geshi_list_languages ( $path = 'geshi/' )
{
        $lang_list = array();
        if ($handle = opendir($path)) {
                while (false !== ($file = readdir($handle))) {
                        if(is_dir($file)) continue;
                        if( ".php" == substr($file, strrpos($file, "."),4))
                        {
                        $lang_list[]= substr($file, 0, strrpos($file, "."));
                        }
                }
                closedir($handle);
        }
        sort($lang_list);
        return $lang_list;
}
?>

1.打开mediawiki根目录下的LocalSettings.php,添加include(“extensions/GeSHiHighlight.php”);

放到定义$wgSitename($wgSitename   = “xxx”;)的上边一行)。

wiki语法是:把代码放在<code></code>标签中


贴出效果图吧:

0_1307325069zmc1.gif



-----------------------------------------------------
转载请注明来源此处
原地址:#

-----网友评论----
暂无评论
-----发表评论----
微网聚博客乐园 ©2014 blog.mn886.net 鲁ICP备14012923号   网站导航