Mediawiki 擴展
出自六年制學程
目錄
解析器函數(ParserFunctions)
安裝
在 LocalSettings.php 中加入:
- MediaWiki 1.24或更早版本:require_once "$IP/extensions/ParserFunctions/ParserFunctions.php";
- 較晚近的版本:wfLoadExtension('ParserFunctions');
可用參數,如:
$wgPFEnableStringFunctions=true; // 激活the intergrated字符串函數功能 $wgPFStringLengthLimit=1500; // 設字符串函數中字符串最大允許長度,預設值為1000
用法
請參考:官網
外掛 CSS
安裝
- mw:Special:ExtensionDistributor/CSS 下載檔案,並將其放在 extensions 目錄下的CSS目錄內。
- 在 LocalSettings.php 中加入:
- MediaWiki 1.29或更早版本:require_once "$IP/extensions/CSS/CSS.php";
- 較晚近的版本:wfLoadExtension('CSS');
可用參數:
$wgCSSPath = false; # 預設值,參考到 $wgScriptPath $wgCSSPath = ''; # 參考到伺服器的文件根目錄 $wgCSSPath = 'https://example.org/stylesheets'; # 參考到其他的 site
用法
在 wiki 頁中加:
- {{#css:MyStyles.css}} 或 {{#css:/skins/MyStyles.css}} ;
- 或直接在解析器函數中寫入 CSS 規則,如下例所示:
{{#css: body { background: yellow; font-size: 20pt; color: red; } }}
更多資料請參考:官網
視覺化編輯器(visual editer)
- 設定
- 舊版 require_once "$IP/extensions/VisualEditor/VisualEditor.php";
- 新版 wfLoadExtension('VisualEditor');
- MediaWiki 1.23,還需要額外的 PHP Parsoid 插件,之後的版本不用。
- 需要 Parsoid
- 設 $wgVisualEditorParsoidPrefix = 'localhost';
- 設 $wgVisualEditorParsoidURL = 'http://localhost:8000'; // Debian,port 是 8142
- 設 $wgDefaultUserOptions['visualeditor-enable'] = 1;
- $wgHiddenPrefs[] = 'visualeditor-enable'; // 不許關閉,若要用 wiki 碼編,不用此行
Math裝不起來
版本匹配:
mw版本 | math版本 |
---|---|
1.23 | 1.25 |
1.30 | 1.31 |
三層需求
- 伺服器上須裝有 texvc ,其編譯環境需要 OCaml 3.06,這一點目前在 DS216 上還做不到。其安裝方法在 Math/math/README 中有詳述,另請見Mediawiki_擴充套件#texvc。未裝 texvc 時的失敗範例在:
- 須有「前置字_math」資料表,其結構在外掛套件的 db 資料夾中的 math.mysql.sql ,先匯入資料表,再改名為 「前置字_math」。
- 須進行 LocalSettings.php 設定:
- 在 mw1.24版之前用「require_once("$IP/extensions/Math/Math.php");」
- 在 mw1.25版之後用「wfLoadExtension( 'Math' );」
各種安裝 texvc 的方法:
- gem install genki-texvc
- apt-get install mediawiki-math-texvc
- 丁丁所寫的外掛 mathImage.php ,需要線上 LaTex 生成,如:
請參考
- https://www.mediawiki.org/wiki/Extension:Math/zh#安裝 頁中,右方模板形成之方框中:
- 「下載擴展」連結,進入https://www.mediawiki.org/wiki/Special:ExtensionDistributor/Math,結果下方各種版本最低只到 1.27 版無可用之版本。
- 「瀏覽存儲庫」連結,進入https://gerrit.wikimedia.org/g/mediawiki/extensions/Math,其中有更多的早期版本,可以先讀各版本的 README 及 Math.php 看其對 MW 1.23 版的反應如下:
- 對 1.26 版以上會說須 MW 1.25+ 才能用
- 對 1.25 會剛好,但仍出現「解析失敗 (缺少 "
texvc
" 執行程式;請參考 math/README 進行設定。)」 - 對 1.24,1.23 會說 MathInputCheckTexvc.php 第 65 行指令檢查到「語法有缺陷」
texvc
- 準備工作須先裝好以下軟件:
- ocaml
- OCaml 下載:http://caml.inria.fr/pub/distrib/ocaml-3.11/ocaml-3.11.1.tar.gz
- 下載後解壓,將整個目錄拷貝至/wiki/math/下,然後進入ocaml目錄編譯安裝:
./configure生成配置文件"Makefile", "m.h" and "s.h"
make world(要等很久)
make opt(要等很久)
umask 022(這個很重要,讓make取得執行權,少這步不會成功)
make install(現在才是安裝)
make clean - 執行一下ocaml命令,能看到版本號就說明OK了。
- LaTeX and dvips
- 有的Linux也有這個套件,不過我還是安裝了Tex Live 2008 ,免費的: http://www.tug.org/texlive/。按照提示安裝即可。
- imagemagick
- http://www.imagemagick.org/script/download.php官方有install檔案,照做就OK。
- ocaml
- 其他早期文件提到還要
- gs
- cjk-latex (now called latex-cjk-all)
- tetex-extra
- binutils (“/usr/bin/as” is needed by make job)
- gcc
- cd 到 MediaWiki 安裝目錄下的 math/ 子目錄,執行 make 開始安裝 texvc。
- 在 LocalSettings.php 中設置:
$wgUseTeX = true;
$wgEnableUploads = true; - chmod 777 images,apach就可以自動往image目錄裡放圖了
使用外部的 Mimetex
這種方法實質上是利用外部的 cgi 鏈接來幫我們生成公式圖片,比較靈活,我們可以使用自定義的標籤或者修改代碼來實現。
自定義標籤方法見:Extension:Mimetex alternative
修改代碼使 math 也能過濾到使用 mimetex 見:利用外鏈CGI為Mediawiki添加數學公式支援
第二種方法是修改 includes/Math.php 下的 renderMath 方法:
public static function renderMath( $tex, $params=array() ) { # global $wgUser; # $math = new MathRenderer( $tex, $params ); # $math->setOutputMode( $wgUser->getOption('math')); # return $math->render(); return "<img class='tex' src='http://www.forkosh.dreamhost.com/mathtex.cgi?".rawurlencode($tex)."' alt='LaTeX:".htmlspecialchars($tex)."'>"; }