查看“︁MediaWiki”︁的源代码
←
MediaWiki
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
==更新== # 從官方網站下載包並上傳到 wiki 根目錄;<br />{{cmd}}如果希望將包重壓縮的話,可用 7-zip 選擇 7z, ultra, LZMA2; dictionary size 和 word size 選到 512M 與 273 並選成 solid 來打包,可節省近 50% 的磁碟空間占用; # 刪除目錄下'''除''' {{spmono|/images/}} 資料夾, {{spmono|.conf}}, {{spmono|.ht<wbr />ac<wbr />cess}}, {{spmono|Lo<wbr />cal<wbr />Set<wbr />tings<wbr />.<wbr />php}} 檔案, 以及用作 logo 與 favicon 的圖(若有)'''以外'''的所有檔案;<br />{{cmd}}此處的前提是沒有安裝任何非官方自帶的附加組件,如有安裝其他附加組件,則 {{spmono|/extensions/}} 資料夾也不能刪; # 解壓縮包內的真內容到 wiki 根目錄(也即不要有「套層目錄」),將所有資料夾及檔案的權限全部抬升為 755; # 使用 ssh 登入伺服器,進入到 wiki 根目錄下並執行 <code>php maintenance/update.php</code>. ==維護== 以下是一些從[[mw:Manual:Maintenance_scripts/List_of_scripts|維護指令碼列表]]上鈔來的清理用指令碼,在使用 ssh 登入至 wiki 安裝路徑後可直接用。 <syntaxhighlight lang="bash" line copy> 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 </syntaxhighlight> 除此之外,在 wiki 的 MySQL 中,以下這些表可以 trun<wbr />ca<wbr />te 一下: {{spmono|ar<wbr />chi<wbr />ve}}, {{spmono|chan<wbr />ge<wbr />_<wbr />tag}}, {{spmono|chan<wbr />ge<wbr />_<wbr />tag<wbr />_<wbr />def}}, {{spmono|ip<wbr />_<wbr />chan<wbr />ges}}, {{spmono|job}}, {{spmono|l<wbr />10<wbr />n<wbr />_<wbr />ca<wbr />che}}, {{spmono|log<wbr />_<wbr />sear<wbr />ch}}, {{spmono|log<wbr />ging}}, {{spmono|math<wbr />la<wbr />te<wbr />xml}}, {{spmono|math<wbr />oid}}, {{spmono|ob<wbr />je<wbr />ct<wbr />ca<wbr />che}}, {{spmono|que<wbr />ry<wbr />ca<wbr />che}}, {{spmono|que<wbr />ry<wbr />ca<wbr />che<wbr />_<wbr />in<wbr />fo}}, {{spmono|que<wbr />ry<wbr />ca<wbr />che<wbr />two}}, {{spmono|re<wbr />cent<wbr />chan<wbr />ges}}, {{spmono|sear<wbr />ch<wbr />in<wbr />dex}}, {{spmono|up<wbr />da<wbr />te<wbr />log}}, {{spmono|up<wbr />load<wbr />sta<wbr />sh}}, {{spmono|user<wbr />_<wbr />new<wbr />talk}}, {{spmono|wa<wbr />tch<wbr />li<wbr />st}}, 以及 {{spmono|wa<wbr />tch<wbr />li<wbr />st<wbr />_<wbr />ex<wbr />pi<wbr />ry}}. ==技巧== {{NB|由於過多使用 {{spmono|<nowiki>{{#time:}}</nowiki>}} 會導致本頁載入過慢,為最優化效能,本頁所有展示日期與時間處理效果的文本均按照將「現在」鎖定為於<u>格林威治時間 113 年 12 月 7 日 20 時 32 分</u>所得之結果實行靜態展示。}} ===自訂語法突顯=== 在任何時刻新開一列,列首空一格半寬空格,然後再輸入內容,即可被彩現為可自由編輯格式的「程式碼區塊」,比方說,當直接輸入以下內容而不將其包含在 <code><nowiki><code> </code></nowiki></code>, <code><nowiki><pre> </pre></nowiki></code> 或 <code><nowiki><syntaxhighlight> </syntaxhighlight></nowiki></code> 中時{{cmd}} <syntaxhighlight lang="text" line copy> <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> </syntaxhighlight> 就能夠得到如下的效果{{cmd}} <span style="color: #007bc7;">若</span> <span style="color: #2e8013;">'''昨日'''</span> <span style="color: #007bc7;">是</span> <span style="color: #0f6b7b;">'''"113 年 12 月 6 日"'''</span>;<span style="color: #007bc7;">則</span> <span style="color: #2e8013;">'''今日'''</span> <span style="color: #007bc7;">是</span> <span style="color: #0f6b7b;">'''"113 年 12 月 7 日"'''</span>;<span style="color: #007bc7;">否則</span> <span style="color: #007bc7;">返回</span> ===URL 縮短=== 出於愚笨的我所完全不能理解的奇妙效果,只要在 MediaWiki 的安裝路徑下建立(或者加寫)一個名為 {{spmono|.conf}} 的檔案,然後寫入 <syntaxhighlight lang="apache" line copy> RewriteEngine On RewriteRule ^/(.*):(.*) /index.php/$1:$2 </syntaxhighlight> 之後再建立(或者加寫)一個名為 {{spmono|.ht<wbr />ac<wbr />cess}} 的檔案,然後寫入 <syntaxhighlight lang="apache" line copy> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*) /index.php/$1 [L,QSA] </syntaxhighlight> 最後再修改 {{spmono|Lo<wbr />cal<wbr />Set<wbr />tings<wbr />.<wbr />php}} 中的以下部分 <syntaxhighlight lang="php" line copy> $wgScriptPath = ""; $wgArticlePath = "/$1"; $wgVariantArticlePath = "/$2/$1"; $wgUsePathInfo = true; </syntaxhighlight> 即可實現如同中文維基百科一樣的「URL 縮短」{{cmd}}甚至更棒{{cmd}}由於我的這個 Me<wbr />dia<wbr />Wi<wbr />ki 本身就是安裝在 ‘wi<wbr />ki’ 這個 sub<wbr />do<wbr />main 下的,因此對於「不轉換」語言變種,就連 {{spmono|/wi<wbr />ki/}} 都省了,就直接是 {{spmono|wi<wbr />ki<wbr />.<wbr />tse<wbr />tien<wbr />.<wbr />com<wbr />/<wbr />TI<wbr />TLE}}. ===限制訪客權限=== [[file:mw-needs-login.png|423px|right|thumb|修改過 CSS 後的「需要登入」頁面|link=]] 修改 {{spmono|Lo<wbr />cal<wbr />Set<wbr />tings<wbr />.<wbr />php}} 中的 {{spmono|$<wbr />wg<wbr />Group<wbr />Per<wbr />mis<wbr />sions<wbr /><nowiki>['*']</nowiki><wbr /><nowiki>['read']</nowiki>}}, {{spmono|$<wbr />wg<wbr />Group<wbr />Per<wbr />mis<wbr />sions<wbr /><nowiki>['*']</nowiki><wbr /><nowiki>['edit']</nowiki>}}, 和 {{spmono|$<wbr />wg<wbr />Group<wbr />Per<wbr />mis<wbr />sions<wbr /><nowiki>['*']</nowiki><wbr /><nowiki>['create</nowiki><wbr /><nowiki>account']</nowiki>}} 三項可變更訪客的閱讀、編輯與創建使用者的權限。每項設為 {{spmono|true}} 即為擁有該項權限(也即「可以閱讀」、「可以編輯」、「可以創建使用者」),設為 {{spmono|false}} 則反之。一般情況下可以作如下設定{{cmd}} <syntaxhighlight lang="php" line copy> $wgGroupPermissions['*']['read'] = true; $wgGroupPermissions['*']['edit'] = false; $wgGroupPermissions['*']['createaccount'] = false; </syntaxhighlight> 這樣訪客便可以閱讀,但不能夠修改內容或者創建使用者。如若將第一項也設為 {{spmono|false}} 則訪客在訪問時會被導向一個「特殊頁面」,被告知需要登入。如果講究的話,還可以透過向 {{spmono|[[MediaWiki:Common.css|Me<wbr />dia<wbr />Wi<wbr />ki<wbr />:<wbr />Com<wbr />mon<wbr />.<wbr />css]]}} 加寫類似如下的 CSS 來讓這個特殊頁面(這本來是一個無法修改內容的頁面)變成如右圖所示的效果。 <syntaxhighlight lang="css" line copy> 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; }</syntaxhighlight> 這樣修改後的頁面更為禮貌、告知了訪客無法閱讀內容的原因,並同時隱去了頁面上的兩處「登入」連結。 ==={{spmono|Lo<wbr />cal<wbr />Set<wbr />tings<wbr />.<wbr />php}} 雜技=== 在編寫 Me<wbr />dia<wbr />Wi<wbr />ki 頁面時,使用 {{spmono|<nowiki>{{DIS</nowiki><wbr /><nowiki>PLAY</nowiki><wbr /><nowiki>TI</nowiki><wbr /><nowiki>TLE</nowiki><wbr /><nowiki>:</nowiki><wbr />ti<nowiki>tle}}</nowiki>}} 這個[[mw:Magic_words|魔術字]]可以為頁面設定不同於其原本名稱的「[[mw:Display_title|顯示標題]]」; 而在 {{spmono|Lo<wbr />cal<wbr />Set<wbr />tings<wbr />.<wbr />php}} 中加入 <syntaxhighlight lang="php" inline>$wgRestrictDisplayTitle = false;</syntaxhighlight> 則可解除對 {{spmono|<nowiki>{{DIS</nowiki><wbr /><nowiki>PLAY</nowiki><wbr /><nowiki>TI</nowiki><wbr /><nowiki>TLE</nowiki><wbr /><nowiki>:</nowiki><wbr />ti<nowiki>tle}}</nowiki>}}「亂用」的限制,可以任意設定頁面的顯示標題。 設定(或加寫) <syntaxhighlight lang="php" line copy> $wgUseImageMagick = false; $wgImageMagickConvertCommand = ""; $wgUseImageResize =false; </syntaxhighlight> 可令 Me<wbr />dia<wbr />Wi<wbr />ki '''不'''為上傳的圖片檔案自動創建[[wikipedia:thumbnail|縮圖]],這對於個人使用者來說非常有用,因為 Me<wbr />dia<wbr />Wi<wbr />ki 會透過 Image<wbr />Magick 創建大量大小不一的縮圖,令 {{spmono|/images/}} 資料夾占用的磁碟空間暴增 10 倍以上。 ===使用國曆=== 在編寫 Me<wbr />dia<wbr />Wi<wbr />ki 頁面時,可透過使用 {{spmono|<nowiki>{{#time:}}</nowiki>}} [[mw:Help:Extension:ParserFunctions|語法剖析器函式]]來令日期以國曆顯示,其核心技巧為:用 {{spmono|xoY}} 來作為年份的代號。如: {| |- ! style="text-align: left;" | 使用 ! style="text-align: left; padding-left: 0.3em;" | 得到 |- | <syntaxhighlight lang="wikitext" inline>{{#time:xoY 年 n 月 j 日|1950-05-01|zh}}</syntaxhighlight> | style="padding-left: 0.3em;" | 39 年 5 月 1 日 |- | <syntaxhighlight lang="wikitext" inline>{{#time:xoY 年 m 月 d 日|1950-05-01|zh}}</syntaxhighlight> | style="padding-left: 0.3em;" | 39 年 05 月 01 日 |- | <syntaxhighlight lang="wikitext" inline>{{#time:xoY 年 n 月 j 日 (l)|1950-05-01|zh}}</syntaxhighlight> | style="padding-left: 0.3em;" | 39 年 5 月 1 日 (星期一) |- | <syntaxhighlight lang="wikitext" inline>{{#time:xoY-m-d (D)|1948-09-24|en}}</syntaxhighlight> | style="padding-left: 0.3em;" | 37-09-24 (Fri) |- | <syntaxhighlight lang="wikitext" inline>{{#time:l, j F xoY "AR"|1948-09-24|en}}</syntaxhighlight> | style="padding-left: 0.3em;" | Friday, 24 September 37 AR |- | <syntaxhighlight lang="wikitext" inline>{{#time:j. M xoY "n. R. C." (D) |1948-09-24|de}}</syntaxhighlight> | style="padding-left: 0.3em;" | 24. Sep. 37 n. R. C. (Fr) |- | <syntaxhighlight lang="wikitext" inline>{{#time:j xg xoY "г. К. Р." (D)|1948-09-24|ru}}</syntaxhighlight> | style="padding-left: 0.3em;" | 24 сентября 37 г. К. Р. (пт) |- | <span lang="ja" style="font-family: 'Sarasa Mono J', Consolas;"><syntaxhighlight lang="wikitext" inline style="font-family: 'Sarasa Mono J', Consolas;">{{#time:中華民国 xoY 年 n 月 j 日 (l)|1948-09-24|ja}}</syntaxhighlight></span> | style="padding-left: 0.3em;" | <span lang="jp" style="font-family: 'PT Serif', 'Source Serif 4', 'Source Serif Pro', 'Noto Serif', 'Yu Mincho', 'MS Mincho', 'Meiryo UI', 'Microsoft JhengHei UI', '微軟正黑體 UI', 'Microsoft JhengHei', '微軟正黑體', 'Source Han Serif';">中華民国 37 年 9 月 24 日 (金曜日)</span> |- | <syntaxhighlight lang="wikitext" inline>{{#time:민국 xoY 년 n 월 j 일 (D)|1948-09-24|ko}}</syntaxhighlight> | style="padding-left: 0.3em;" | 민국 37 년 9 월 24 일 (금) |- | colspan="2" | <hr /> |- | <syntaxhighlight lang="wikitext" inline>現在是{{#time:中華民國 xoY 年 n 月 j 日 (l) H 時 i 分|now + 8 hours|zh}}。</syntaxhighlight> | style="padding-left: 0.3em;" | 現在是中華民國 113 年 12 月 8 日 (星期日) 04 時 32 分。 |- | <span lang="ja" style="font-family: 'Sarasa Mono J', Consolas;"><syntaxhighlight lang="wikitext" inline style="font-family: 'Sarasa Mono J', Consolas;">丁度 1 回帰年前は{{#time:中華民国 xoY 年 n 月 j 日 (D) H 時 i 分|now - 31556926 seconds + 9 hours|ja}}でした。</syntaxhighlight></span> | style="padding-left: 0.3em;" |<span lang="jp" style="font-family: 'PT Serif', 'Source Serif 4', 'Source Serif Pro', 'Noto Serif', 'Yu Mincho', 'MS Mincho', 'Meiryo UI', 'Microsoft JhengHei UI', '微軟正黑體 UI', 'Microsoft JhengHei', '微軟正黑體', 'Source Han Serif';">丁度 1 回帰年前は中華民国 112 年 12 月 8 日 (金) 23 時 43 分でした。</span> |- | <syntaxhighlight lang="wikitext" inline>In genau zehn tropischen Jahren ist es der<br /></syntaxhighlight><br /><syntaxhighlight lang="wikitext" inline>{{#time:l, j. F xoY "n. R. C. um" H:i "Uhr"|now + 315569260 seconds + 1 hour|de}}.</syntaxhighlight> | style="padding-left: 0.3em;" | In genau zehn tropischen Jahren ist es der<br />Freitag, 8. Dezember 123 n. R. C. um 07:39 Uhr. |} 而當 Me<wbr />dia<wbr />Wi<wbr />ki 的 {{spmono|$<wbr />wg<wbr />Lan<wbr />gu<wbr />age<wbr />Co<wbr />de}} 為中文(<syntaxhighlight lang="php" inline>$wgLanguageCode = "zh";</syntaxhighlight>)時,則可透過向 {{spmono|Lo<wbr />cal<wbr />Set<wbr />tings<wbr />.<wbr />php}} 加寫 <syntaxhighlight lang="php" inline>$wgDefaultUserOptions['date'] = "minguo";</syntaxhighlight> 來令全站預設採用國曆。不過這裡有一個 bug, 就是如果這樣做的話,使用者的「參數設定」頁面就無法打開了。但這對於一個個人維基來說也不是甚麼大事。將全站的 {{spmono|$<wbr />wg<wbr />Lan<wbr />gu<wbr />age<wbr />Co<wbr />de}} 改為 {{spmono|zh<wbr />-<wbr />tw}} 則可避免這個 bug, 但是我又喜歡頁面上預設帶有語言變種轉換模組,所以……衡量之下就讓「參數設定」無法打開罷。
此页面嵌入的页面:
Template:Cmd
(
查看源代码
)
Template:NB
(
查看源代码
)
Template:Spmono
(
查看源代码
)
返回
MediaWiki
。
导航菜单
个人工具
登录
命名空间
页面
讨论
不转换
不转换
简体
繁體
大陆简体
香港繁體
澳門繁體
大马简体
新加坡简体
臺灣正體
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
工具
链入页面
相关更改
页面信息