MediaWiki
更新
- 從官方網站下載包並上傳到 wiki 根目錄;
——如果希望將包重壓縮的話,可用 7-zip 選擇 7z, ultra, LZMA2; dictionary size 和 word size 選到 512M 與 273 並選成 solid 來打包,可節省近 50% 的磁碟空間占用; - 刪除目錄下除 /images/ 資料夾, .conf, .ht
ac cess, Lo cal Set tings . php 檔案, 以及用作 logo 與 favicon 的圖(若有)以外的所有檔案;
——此處的前提是沒有安裝任何非官方自帶的附加組件,如有安裝其他附加組件,則 /extensions/ 資料夾也不能刪; - 解壓縮包內的真內容到 wiki 根目錄(也即不要有「套層目錄」),將所有資料夾及檔案的權限全部抬升為 755;
- 使用 ssh 登入伺服器,進入到 wiki 根目錄下並執行
php maintenance/update.php.
維護
以下是一些從維護指令碼列表上鈔來的清理用指令碼,在使用 ssh 登入至 wiki 安裝路徑後可直接用。
php maintenance/run.php cleanupEmptyCategories.php --force
php maintenance/run.php cleanupTitles.php
php maintenance/run.php cleanupWatchlist.php --fix
php maintenance/run.php cleanupBlocks.php
php maintenance/run.php cleanupUploadStash.php
php maintenance/run.php cleanupRemovedModules.php
php maintenance/run.php deleteEqualMessages.php --delete
php maintenance/run.php deleteEqualMessages.php --delete --delete-talk
php maintenance/run.php deleteOldRevisions.php --delete
php maintenance/run.php deleteOrphanedRevisions.php
php maintenance/run.php deleteArchivedRevisions.php --delete
php maintenance/run.php deleteArchivedFiles.php --delete --force
php maintenance/run.php deleteDefaultMessages.php
php maintenance/run.php deleteSelfExternals.php
php maintenance/run.php purgeChangedPages.php --starttime 20210101 --endtime 20991231
php maintenance/run.php purgeChangedFiles.php --starttime 20210101 --endtime 20991231
php maintenance/run.php purgeExpiredBlocks.php
php maintenance/run.php purgeExpiredWatchlistItems.php
php maintenance/run.php purgeMessageBlobStore.php
php maintenance/run.php purgeModuleDeps.php
php maintenance/run.php purgeOldText.php --purge
php maintenance/run.php purgeParserCache.php --age 1
除此之外,在 wiki 的 MySQL 中,以下這些表可以 trun
技巧
| 由於過多使用 {{#time:}} 會導致本頁載入過慢,為最優化效能,本頁所有展示日期與時間處理效果的文本均按照將「現在」鎖定為於格林威治時間 113 年 12 月 7 日 20 時 32 分所得之結果實行靜態展示。 |
自訂語法突顯
在任何時刻新開一列,列首空一格半寬空格,然後再輸入內容,即可被彩現為可自由編輯格式的「程式碼區塊」,比方說,當直接輸入以下內容而不將其包含在 <code> </code>, <pre> </pre> 或 <syntaxhighlight> </syntaxhighlight> 中時——
<span style="color: #007bc7;">若</span> <span style="color: #2e8013;">'''昨日'''</span> <span style="color: #007bc7;">是</span> <span style="color: #0f6b7b;">'''"{{#time:xoY 年 n 月 j 日|now - 1 day|zh}}"'''</span>;<span style="color: #007bc7;">則</span>
<span style="color: #2e8013;">'''今日'''</span> <span style="color: #007bc7;">是</span> <span style="color: #0f6b7b;">'''"{{#time:xoY 年 n 月 j 日|now|zh}}"'''</span>;<span style="color: #007bc7;">否則</span>
<span style="color: #007bc7;">返回</span>
就能夠得到如下的效果——
若 昨日 是 "113 年 12 月 6 日";則 今日 是 "113 年 12 月 7 日";否則 返回
URL 縮短
出於愚笨的我所完全不能理解的奇妙效果,只要在 MediaWiki 的安裝路徑下建立(或者加寫)一個名為 .conf 的檔案,然後寫入
RewriteEngine On
RewriteRule ^/(.*):(.*) /index.php/$1:$2
之後再建立(或者加寫)一個名為 .ht
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) /index.php/$1 [L,QSA]
最後再修改 Lo
$wgScriptPath = "";
$wgArticlePath = "/$1";
$wgVariantArticlePath = "/$2/$1";
$wgUsePathInfo = true;
即可實現如同中文維基百科一樣的「URL 縮短」——甚至更棒——由於我的這個 Me
限制訪客權限

修改 Lo
$wgGroupPermissions['*']['read'] = true;
$wgGroupPermissions['*']['edit'] = false;
$wgGroupPermissions['*']['createaccount'] = false;
這樣訪客便可以閱讀,但不能夠修改內容或者創建使用者。如若將第一項也設為 false 則訪客在訪問時會被導向一個「特殊頁面」,被告知需要登入。如果講究的話,還可以透過向 Me
body.ns--1.ns-special.mw-special-Badtitle.page-Special_错误标题.rootpage-Special_错误标题 h1 {
color: transparent;
}
body.ns--1.ns-special.mw-special-Badtitle.page-Special_错误标题.rootpage-Special_错误标题 h1::before {
content: "維護期間,需要登入方可查閱。";
display: inline;
color: black;
}
body.ns--1.ns-special.mw-special-Badtitle.page-Special_错误标题.rootpage-Special_错误标题 div#mw-content-text, body.ns--1.ns-special.mw-special-Badtitle.page-Special_错误标题.rootpage-Special_错误标题 div#mw-content-text a, body.ns--1.ns-special.mw-special-Badtitle.page-Special_错误标题.rootpage-Special_错误标题 div#mw-navigation div#mw-head nav#p-personal li#pt-login-private a {
color: transparent;
}
body.ns--1.ns-special.mw-special-Badtitle.page-Special_错误标题.rootpage-Special_错误标题 div#mw-content-text::before {
content: "很抱歉,敝站正在維護,您需要先登入方可查閱。";
display: inline;
color: black;
}
body.ns--1.ns-special.mw-special-Badtitle.page-Special_错误标题.rootpage-Special_错误标题 div#left-navigation nav#p-namespaces li#ca-nstab-special a span {
display: none;
}
body.ns--1.ns-special.mw-special-Badtitle.page-Special_错误标题.rootpage-Special_错误标题 div#left-navigation nav#p-namespaces li#ca-nstab-special a::after {
content: "需要登入";
display: inline;
color: black;
}
這樣修改後的頁面更為禮貌、告知了訪客無法閱讀內容的原因,並同時隱去了頁面上的兩處「登入」連結。
Lo cal Set tings . php 雜技
在編寫 Me
而在 Lo$wgRestrictDisplayTitle = false; 則可解除對 {{DIS
設定(或加寫)
$wgUseImageMagick = false;
$wgImageMagickConvertCommand = "";
$wgUseImageResize =false;
可令 Me
使用國曆
在編寫 Me
| 使用 | 得到 |
|---|---|
{{#time:xoY 年 n 月 j 日|1950-05-01|zh}}
|
39 年 5 月 1 日 |
{{#time:xoY 年 m 月 d 日|1950-05-01|zh}}
|
39 年 05 月 01 日 |
{{#time:xoY 年 n 月 j 日 (l)|1950-05-01|zh}}
|
39 年 5 月 1 日 (星期一) |
{{#time:xoY-m-d (D)|1948-09-24|en}}
|
37-09-24 (Fri) |
{{#time:l, j F xoY "AR"|1948-09-24|en}}
|
Friday, 24 September 37 AR |
{{#time:j. M xoY "n. R. C." (D) |1948-09-24|de}}
|
24. Sep. 37 n. R. C. (Fr) |
{{#time:j xg xoY "г. К. Р." (D)|1948-09-24|ru}}
|
24 сентября 37 г. К. Р. (пт) |
{{#time:中華民国 xoY 年 n 月 j 日 (l)|1948-09-24|ja}}
|
中華民国 37 年 9 月 24 日 (金曜日) |
{{#time:민국 xoY 년 n 월 j 일 (D)|1948-09-24|ko}}
|
민국 37 년 9 월 24 일 (금) |
現在是{{#time:中華民國 xoY 年 n 月 j 日 (l) H 時 i 分|now + 8 hours|zh}}。
|
現在是中華民國 113 年 12 月 8 日 (星期日) 04 時 32 分。 |
丁度 1 回帰年前は{{#time:中華民国 xoY 年 n 月 j 日 (D) H 時 i 分|now - 31556926 seconds + 9 hours|ja}}でした。
|
丁度 1 回帰年前は中華民国 112 年 12 月 8 日 (金) 23 時 43 分でした。 |
In genau zehn tropischen Jahren ist es der<br />{{#time:l, j. F xoY "n. R. C. um" H:i "Uhr"|now + 315569260 seconds + 1 hour|de}}.
|
In genau zehn tropischen Jahren ist es der Freitag, 8. Dezember 123 n. R. C. um 07:39 Uhr. |
而當 Me$wgLanguageCode = "zh";)時,則可透過向 Lo$wgDefaultUserOptions['date'] = "minguo"; 來令全站預設採用國曆。不過這裡有一個 bug, 就是如果這樣做的話,使用者的「參數設定」頁面就無法打開了。但這對於一個個人維基來說也不是甚麼大事。將全站的 $