Mediawiki 擴展

出自六年制學程
在2022年6月5日 (日) 14:17由丁志仁對話 | 貢獻所做的修訂版本

(差異) ←上個修訂 | 最新修訂 (差異) | 下一修訂→ (差異)
跳轉到: 導覽搜尋

解析器函數(ParserFunctions)

安裝

在 LocalSettings.php 中加入:

  1. MediaWiki 1.24或更早版本:require_once "$IP/extensions/ParserFunctions/ParserFunctions.php";
  2. 較晚近的版本:wfLoadExtension('ParserFunctions');

可用參數,如:

$wgPFEnableStringFunctions=true; // 激活the intergrated字符串函數功能
$wgPFStringLengthLimit=1500; // 設字符串函數中字符串最大允許長度,預設值為1000

用法

請參考:官網

外掛 CSS

安裝

  1. mw:Special:ExtensionDistributor/CSS 下載檔案,並將其放在 extensions 目錄下的CSS目錄內。
  2. 在 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)

  • 設定
    1. 舊版 require_once "$IP/extensions/VisualEditor/VisualEditor.php";
    2. 新版 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.231.25
1.301.31

三層需求

  1. 伺服器上須裝有 texvc ,其編譯環境需要 OCaml 3.06,這一點目前在 DS216 上還做不到。其安裝方法在 Math/math/README 中有詳述,另請見Mediawiki_擴充套件#texvc。未裝 texvc 時的失敗範例在:
  2. 須有「前置字_math」資料表,其結構在外掛套件的 db 資料夾中的 math.mysql.sql ,先匯入資料表,再改名為 「前置字_math」。
  3. 須進行 LocalSettings.php 設定:
    • 在 mw1.24版之前用「require_once("$IP/extensions/Math/Math.php");」
    • 在 mw1.25版之後用「wfLoadExtension( 'Math' );」

各種安裝 texvc 的方法:

  1. gem install genki-texvc
  2. apt-get install mediawiki-math-texvc
  3. 丁丁所寫的外掛 mathImage.php ,需要線上 LaTex 生成,如:


請參考

texvc

  • 準備工作須先裝好以下軟件:
    1. 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了。
    2. LaTeX and dvips
      • 有的Linux也有這個套件,不過我還是安裝了Tex Live 2008 ,免費的: http://www.tug.org/texlive/。按照提示安裝即可。
    3. imagemagick
  • 其他早期文件提到還要
    1. gs
    2. cjk-latex (now called latex-cjk-all)
    3. tetex-extra
    4. binutils (“/usr/bin/as” is needed by make job)
    5. 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)."'>";
}