为mediawiki添加GeSHi代码高亮库

本文介绍了如何在MediaWiki 1.16版本中安装和配置GeSHi代码高亮库。首先从官方源下载并解压GeSHi到扩展目录,然后创建GeSHiHighlight.php文件并添加相关代码。接着在LocalSettings.php中引入该文件,最后通过<code>标签插入代码即可实现高亮显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 博客最新地址:http://1.techblog.sinaapp.com/?p=18


下面就GeSHiMediawiki下的安装方法做一下介绍:

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

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

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>标签中


贴出效果图吧:

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值