1. 安裝Scribunto插件
Scribunto插件的主要目的是可以讓你建立Module:XXX的頁面,然後在上面寫lua script。因為MediaWiki的navbox是用lua script寫出來的,需要建立一些Module頁面並貼上lua代碼,所以想用的話就先要安裝Scribunto。安裝步驟:https://www.mediawiki.org/wiki/Extension:Scribunto#Installation
大致上就是下載後把資料夾放在extensions資料夾內,再於LocalSettings.php加上以下代碼:
wfLoadExtension( 'Scribunto' ); $wgScribuntoDefaultEngine = 'luastandalone';幫Lua程式加上執行權限,(雖然我試的時候已經有執行權限了):
chmod a+x /path/to/extensions/Scribunto/engines/LuaStandalone/binaries/yourOS/lua記得把yourOS換成自己的作業系統(我的是lua5_1_5_linux_64_generic)
如果想有syntax highlighting(代碼上色),需要先安裝SyntaxHighlight_GeSHi插件,然後再於LocalSettings.php加上:
$wgScribuntoUseGeSHi = true;
安裝SyntaxHighlight_GeSHi的步驟請看:https://www.mediawiki.org/wiki/Extension:SyntaxHighlight#Installation
不過當初我嘗試加上的時候,遇到了個問題:在自己的測試機(Ubuntu 16.04 Desktop)是可以順利啟用代碼上色的,但到了正式機(Ubuntu 16.04 Server)卻無法上色,查了很久才發現是/usr/bin內沒有以python為名的程式(只有python3.5),而測試機則已經有一個python link指著另一個python版本的程式,於是我也在正式機內加上一條link,這樣SyntaxHighlight_GeSHi執行pygmentize的時候就能找到python了。
2. 在MediaWiki上建立頁面
建立以下頁面,可以從MediaWiki把原始碼抄過來(不要用Wikipedia的,因為需要加更多額外的Module)
Template:Navbox
Module:Navbox
Module:Navbar
Module:Arguments
建立以下頁面(預設會有不過是空的),從Wikipedia把原始碼抄過來
MediaWiki:Common.css
MediaWiki.Common.js
建立完畢後就可以用navbox了。範例代碼:
{{Navbox |name = Navbox/doc |state = uncollapsed |image = {{{image}}} |title = {{{title}}} |above = {{{above}}} |group1 = {{{group1}}} |list1 = {{{list1}}} |group2 = {{{group2}}} |list2 = {{{list2}}} |list3 = {{{list3}}} ''without {{{group3}}}'' |group4 = {{{group4}}} |list4 = {{{list4}}} |below = {{{below}}} See alternate navbox formats under: [[#Layout of table|''Layout of table'']] }}
沒有留言:
張貼留言