入门

安装

在 Ubuntu Server 中安装,使用 Nginx 服务器和 SQLite 数据库

sudo apt install php php-fpm php-sqlite3 php-intl php-xml php-mbstring
cd /srv/mediawiki
curl -O https://releases.wikimedia.org/mediawiki/1.31/mediawiki-1.31.14.tar.gz
tar xzf mediawiki-1.31.14.tar.gz

然后打开网站,跟随向导。

参考

Nginx 配置

server {
    server_name wiki.ruo-chen.wang;
    root /srv/mediawiki/mediawiki;
    index index.php;

    client_max_body_size 5m;
    client_body_timeout 60;

    location / {
        try_files $uri $uri/ @rewrite;
    }
    location @rewrite {
        rewrite ^/wiki/(.*)$ /index.php?title=$1&$args;
    }
    location ^~ /maintenance/ {
        return 403;
    }

    location ~ [^/]\.php(/|$) {
        fastcgi_param HTTP_PROXY "";
        fastcgi_pass unix:/run/php/php-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;
    }
}

参考

MediaWiki 配置

Wiki 路径

$wgArticlePath = "/wiki/$1";

锚点转义方式

旧式转义会转义非 ASCII 字符的所有字节。使用新的 HTML5 方式会尽量少转义字符。

$wgFragmentMode = ['html5', 'legacy'];

权限

$wgGroupPermissions['*']['createaccount'] = false;
$wgGroupPermissions['*']['edit'] = false;
$wgGroupPermissions['sysop']['interwiki'] = true;
$wgGroupPermissions['sysop']['editinterface'] = true;
$wgGroupPermissions['sysop']['editsitecss'] = true;
$wgGroupPermissions['sysop']['editsitejs'] = true;

移动版皮肤

wfLoadSkin('MinervaNeue');
$wgMFDefaultSkinClass = 'SkinMinerva';

编写

可排序表格

[1] [2]

{| class="wikitable sortable"
! 可排序列
! class="unsortable" | 不可排序列
|-
| 单元格 || 单元格
|-
| 单元格 || 单元格
|}

中文页面在类别列表中的位置

默认情况下,类别页面下的页面是按照第一个字符排序的,使用 [[Category:ABC|Nihao]] 可将页面加入 ABC 类,并让它在 ABC 类下的位置排序时使用 Nihao 进行排序。[3]

扩展

SyntaxHighlight_GeSHi

语法高亮。在 MediaWiki 1.31 中已自带 [4]。启用后可使用 <syntaxhighlight> 标签。

wfLoadExtension('SyntaxHighlight_GeSHi');

MobileFrontend

移动版本前端。下载 Minerva_Neue 皮肤 并安装到 mediawiki/skins 下。

wfLoadSkin('MinervaNeue');
$wgMFDefaultSkinClass = 'SkinMinerva';
wfLoadExtension('MobileFrontend');

Gadgets

在 MediaWiki 1.31 中已自带。启用的小工具见特殊:小工具。配置在 MediaWiki:Gadgets-definition

使用:

wfLoadExtension('Gadgets');

Reference Tooltips

鼠标移动到参考文献的方括号上时显示引用的内容。在 MediaWiki:Gadgets-definition 中加入

* ReferenceTooltips[ResourceLoader|default]|ReferenceTooltips.js|ReferenceTooltips.css

升级

更新文件后访问 /mw-config/index.php,跟随向导。

参考