MediaWiki的使用

啓用Mediawiki的圖片上傳功能
  1. 設置images文件夾爲可寫
  2. 在配置文件LocalSettings.php 中找到
$wgEnableUploads       = true;

設置爲 true。

這樣就啓用了MediaWiki的圖片上傳功能

MediaWiki上傳圖片和使用圖片

MediaWiki上傳圖片

上傳頁面的地址是: Special:Upload ,也可以先進入特殊頁面,然後進入上傳文件頁面。在該頁面中上傳圖片,設置好文件名和描述,上傳成功以後就可以在文章中使用了。

MediaWiki使用圖片

在要插入圖片的位置輸入 :

 [[Image:file.jpg]]

就可以顯示對應的圖片了。

MediaWiki限制上傳文件大小

在localsettings.php增加下面一行

   $wgMaxUploadSize = 5020;

單位爲字節,這個在新(versions 1.9.3 到 1.12)版本中已經不起作用啦,要在php環境中進行限制,那麼還有個警告大文件上傳的警示大小是在DefaultSetting.php中的,默認爲150k,如果嫌煩,可以調大些(建議不用調)。

MediaWiki引用外部圖片

在localsettings.php增加下面一行即可(可能引起安全問題):

   $wgAllowExternalImages = true;

通過圖片URL進行上傳(使用可被公開訪問的圖片鏈接進行遠程圖片上傳(這個功能很酷,:) 不過只有操作員纔可以用,嘿嘿,安全考慮,這樣很有必要呢))

在localsettings.php增加下面一行(可能引起安全問題):

   $wgAllowCopyUploads = true;
開啓其他文件上傳

開啓其他文件上傳,比如doc,pdf,ppt,docx,pptx

打開wiki根目錄中的includes/DefaultSettings.php,修改$wgFileExtensions ,此變量默認僅支持'png', 'gif', 'jpg', 'jpeg'四種,修改爲

  • $wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg','doc','ppt','pdf' );

上傳過程出現錯誤提示 “該文件包含或具有一個不正確的擴展名。請檢查此文件並重新上傳”,比如,已經在wgFileExtensions中設置了允許上傳ppt類型,爲什麼還是上傳不了,打開wiki根目錄中的includes/DefaultSettings.php,將$wgVerifyMimeType修改爲false;一了百了,但會把pptx當zip處理,word,ppt都是正常的

MediaWiki左側導航欄通過特殊頁面就可以設置。

設置步驟:

進入特殊頁面,找到sidebar進入,編輯該頁面就可以設置導航欄了。也可以直接通過鏈接MediaWiki:Sidebar 進入。

格式:

*導航欄名稱一
**鏈接一地址|鏈接一名稱
**鏈接二地址|鏈接二名稱

*導航欄名稱二
**鏈接一地址|鏈接一名稱
**鏈接二地址|鏈接二名稱

例如本站的導航欄設置的內容爲:

* navigation
** mainpage|mainpage
** http://bbs.zzbaike.com|論壇
** currentevents-url|currentevents
** recentchanges-url|recentchanges
** randompage-url|randompage
** helppage|help

*推薦網站
** http://www.idcspy.com|美國主機偵探
** http://www.alexacn.org|Alexa中文資訊
** http://down.zzbaike.com|站長下載
** http://site.zzbaike.com|站長網址
** http://edu.zzbaike.com|站長學院
修改網站LOGO
想要將左上角的mediawiki圖標替換爲自己的圖標,可以在skins/common/images/目錄下找

到名爲“wiki.png”的圖片文件,將它替換爲自己的圖片即可。

界面信息修改
MediaWiki的大部分界面信息存放在Special:Allmessages裏面,包括界面的文字、鏈接、氣泡提示、熱鍵等。進行定製時,請找到相應信息,點擊左欄鏈接進行修改。

mediawiki皮膚的安裝、使用
用到的文件 
一般來說,下載來的皮膚包中包含xxx.php、xxx.deps.php與一個xxx子目錄這三部分 
(早期的皮膚可能沒有xxx.deps.php文件) 
拷貝到哪裏 
將上述文件拷貝到mediawiki的/skins目錄下即可 
如何使用 
文件拷貝後即可生效!調用方法爲:登錄,進入參數設置(Special:Preferences)頁面,在皮膚中選擇後保存即可。 
(注:非註冊用戶無法選擇皮膚) 
設定爲默認風格 
如果希望皮膚能對所有用戶都生效,那麼可以在將其設爲默認皮膚,之後匿名用戶等都將默認使用這種風格。 
方法:修改localsettings.php,在文尾“?>”之前增加如下一行: 
$wgDefaultSkin = 'xxx';

創建新文章、新詞條
利用搜索功能創建新頁面
當你使用頁面左側的搜索框中查找標題沒找到時,可在提示中點擊創建文章的鏈接建立新頁面。

[編輯] 創建頁面存在鏈接的文章
如果您發現戰錘百科正文中有棕紅色的鏈接,則表明該條目中還沒有內容,您可以點擊它來編輯新的條目,保存後就自動創建新頁面;如果需要自行建立新頁面,請隨意編輯某個頁面並輸入“[[新條目名稱]]”,點擊“顯示預覽”按鈕後即可按前面所述進行操作。

[編輯] 縮進與列表
mediawiki中的縮進不能使用半角空格調整。有以下幾種方式控制縮進格式縮進:(舉例附後) 
行首使用半角:號:允許多個半角冒號連用,以控制不同文本縮進深度 
行首使用半角*號:行首星號是列表控制符,產生列表的同時伴有不同的文本縮進。允許多個星號連用。 
行首使用半角#號:數字序號的列表控制符,與星號類似。注意,多個#號行中夾有非#號起始的文本行時,數字序號會中斷。 
使用;與:號配合:分號與冒號稱爲“定義列表”控制符,冒號之後的部分換行縮進顯示。 
行首使用全角空格:一種非正規手段,注意不要濫用。

段落調整
關於空開段與段的間隔 
wiki文本中,單獨回車並不會出現換行。爲強制換行,可以:
1、增加空行會分開不同的段落
2、在換行位置使用強制換行標籤“br”
如左圖1所示,如果需要段與段時間空行,只需在前段末尾加上"br”"br",將“換爲<>,如右圖2所示。
關於首行空兩格 
如果遵循中文書寫習慣,需要在首行前空兩格,可以在首行前端輸入“全角”的空格符,即可實現如上圖1效果。

如何插入圖片,調整
1、當圖片位於本機(沒有網址可供調用)時,要把圖片在Special:Upload頁面上傳後才能使用。(該頁面的鏈接可在“特殊頁面”中找到,標註爲“上載文件”)。
2、:圖片文件不能使用中文名稱,應在上載時指定爲英文名稱。 3、將圖片上傳後,在需要插入圖片的位置輸入“[[Image:Filename.jpg]]”即可(Filename爲上傳圖片的文件名),即可出現如 左圖3無方框圖片效果,如果需要添加方框效果,可以輸入“[[Image:Filename.jpg|thumb]]”添加圖片方框。
3、對於上傳到本站的圖片,還可以隨意指定顯示大小、左右位置、添加說明文字等,請參看Mediawiki中圖像的使用。

[編輯] 目錄控制
當文章中含有3個以上標題時,mediawiki將自動在第一個標題之前生成目錄(這是默認的設置)。 
如果需要隱去目錄,可以在文章中加入“__NOTOC__”標記; 
如果需要強制顯示目錄而不管標題數量,可以加入“__TOC__”標記; 
這兩個wiki標記不限制出現位置,但一般出現在文章頭部或尾部且單獨成行。

[編輯] 文章分類
在文本中嵌入“[[category:文章分類]]”的文字,會使本文自動歸類到“文章分類”下面。一般習慣在文章末尾放置該語句;同一篇文章可以設定多個分類。
編輯完成後,點擊正文頁面下端的分類名稱,可以進入該分類頁面查看更多的同類文章。同時,分類頁面中也可以進行編輯,以進行必要的說明。

分類是mediawiki中一種重要的內容關聯手段。 
分類將同類文章在同一個頁面上集中起來,爲讀者提供查看相關資料的方便 
mediawiki的分類還有上、下級關係,使內容關聯更有層次 
[[category:XXX]]
保存之後這篇文章就會自動被分類爲XXX。

分類說明文本一般被放在文章末尾,但實際上它可以位於文章的任何部分。 
一篇文章可以有多個分類,順序書寫即可。例如文章同時在XXX、YY分類中出現: 
[[category:XXX]]
[[category:YYY]]
如何引用一個分類頁面的網址
在mediawiki文章中鏈接分類頁面正確的寫法是[[:category:XXX]],顯示時不會顯示前導冒號
上傳圖片也可以分類
通過對上傳圖片的分類,可以讓更多人瞭解系統中有哪些圖片,方便在文章中引用,並大量減少重複圖片的上傳。
上傳圖片之後,編輯該頁面並輸入[[category:分類名稱]]然後保存,則訪問這個分類頁面時就能看見該圖片的索引了

表格的基礎用法
{|
| 第1行第1列 || 第1行第2列 || 第1行第3列
|-
| 第2行第1列 || 第2行第2列 || 第2行第3列
|-
| 第3行第1列 || 第3行第2列 || 第3行第3列
|}
說明:“{|”、“|}”是表格的頭尾,“|-”代表表格換行,“|”引導表格行內容並以“||”分開不同單元格 
注意:表格控制符必須在行首書寫!非行首表格代碼將不被認可 
單元格內容可包含鏈接、圖片等,以及嵌套內部表格。
mediawiki的默認表格沒有邊框,如果需要的話需添加參數。(見下文介紹) 
border="1" cellspacing="0" 是邊框樣式,不寫的話就不出邊框


讓一行、一列或一整個表格都是同樣的顏色
{| style="background:yellow; color:blue" border=1
|- 
| 這行是
| 藍字
| 黃背景
|- style="background:navy; color:white"
| 這行是
| 白字
| 深海藍
|-
| 這行
| style="background:white" | 比較
| 不一樣
|}


Mediawiki的邊框效果
漂亮的頁面佈局,離不開各種邊框的使用。通過不同樣式的邊框,可以讓不同的內容板塊一目瞭然,有效改進頁面的可讀性。 
邊框樣式的基礎實現有兩種: 
div邊框 
表格邊框 
<div style="width:100px;background-color:#FF0000;border:5px solid #FFFFFF;">
測試
</div>

solid單線邊框 
border:1px solid #808080 
常用邊框之一,推薦

dashed虛線邊框 
border:1px dashed #808080 
常用邊框之一,推薦

double雙線邊框 
border:3px double #808080 
常用雙線邊框之一,推薦


編輯格式:
'''粗體文字'''
''斜體文字''
[[鏈接標題]] 內部鏈接 
[http://www.example.com 鏈接標題] 外部鏈接
== dfd == 二級標題字導航
[[Image:Example.jpg]] 嵌入文件

當文章中含有3個以上標題時,mediawiki將自動在第一個標題之前生成目錄(這是默認的設置)。

使編輯的時候出現虛線框,使重要的內容顯示比較醒目,只要在開頭加上一個空格就可以了(這裏的空格必須是半角下的纔可以


Mediawiki的頁面分類
在mediawiki中,在編輯文章時輸入 
[[category:XXX]]
保存之後這篇文章就會自動被分類爲XXX。 
分類說明文本一般被放在文章末尾,但實際上它可以位於文章的任何部分。 
一篇文章可以有多個分類,順序書寫即可。例如文章同時在XXX、YY分類中出現: 
[[category:XXX]]
[[category:YYY]]

如何引用一個分類頁面的網址
格式爲[[:category:XXX|說明文字]],例如文本中的“[[:category:wiki|天下維客的wiki文章索引]]”將顯示爲天下維客的wiki文章索引。

模板
引用模板 {{模板名稱}}
創建或者編輯模板 [[Template:模板名稱|頁面顯示文字]]


Mediawiki的頁面權限設置
禁止新用戶註冊
在LocalSettings.php的位置加入:

#Prevent new user registrations
$wgWhitelistAccount = array ( "user" => 0, "sysop" => 1, "developer" => 1 );
此時用戶無法自助註冊。管理員可以到登錄頁面(Special:UserLogin)裏,輸入一個用戶名和email,然後點擊“by email”,系統創建帳號並將隨機密碼發送到指定email裏。

禁止匿名用戶編輯
在LocalSettings.php加入 
1.5版本: 
以下等式右側的值決定各組成員的權限。左側第一方括號內的'*'代表包括匿名用戶在內的所有成員。登錄用戶控制存放在'user'組,這些將綜合決定user_groups數據表中的成員權限。
這些設置取代了以前的wgWhitelistAccount和wgWhitelistEdit。 
#$wgGroupPermissions = array();
$wgGroupPermissions['*'    ]['createaccount']   = false;
$wgGroupPermissions['*'    ]['read']            = true;
$wgGroupPermissions['*'    ]['edit']            = false;
以上例子中禁止了匿名用戶的自行創建賬戶和進行編輯。(“編輯”標籤仍會顯示,但匿名用戶點擊時會被提示要求進行登錄。

設定匿名用戶(未登錄)可以看到的頁面
上述設定之後,用戶連首頁和登錄頁面也看不到了。因此需要繼續修改在LocalSettings.php中加入:
$wgWhitelistRead = array ("Main Page", "Special:Userlogin", "Wikipedia:Help");
這樣,匿名用戶只能看到Main Page、登錄頁面以及幫助頁面。注意根據自己站點的情況修改上述設置,例如改爲:
$wgWhitelistRead = array ("首頁", "Special:Userlogin", "某某Wiki:Help");
對於多字節語言(例如中文),PHP parser可能不能正確解碼。這時可能要用到PHP的urldecode()函數來轉換一下:
#中文的“首頁”編碼
$wgWhitelistRead = array( urldecode("%E9%A6%96%E9%A1%B5") ;

頁面保護的方法
以管理員(sysop)身份登錄 
點擊頁面上方的的保護(或protect)標籤 
如下圖,選擇第三行的Sysop only,然後確認即可。 
保護完成後,該頁面只能被sysop(管理員)修改。
Image:Mediawiki protect.png mediawiki的頁面保護
如果僅僅希望屏蔽匿名修改,則請在第三步時選擇第二行。這種情況下允許登錄用戶、管理員對該頁面的編輯。 
解除保護:操作過程完全類似,只是第二步時標籤爲“解除保護”,第三步時選擇第一行。 
頁面保護僅適合少量頁面的保護。 
如果希望所有頁面都禁止匿名修改,則請參考mediawiki的用戶權限,對匿名用戶的權限進行限制。

How do I remove a tab on only one page?
http://www.mediawiki.org/wiki/Manual:FAQ#How_do_I_customize_the_navigation_bar.3F


我想做出頁面下顯示針對條目的討論內容顯示的功能
在頁面下方增加一個名爲{{討論}}的模板,模板內容你可以參考模板:討論
{| style="width:100%; border:1px solid #cef2e0; background-color:#f5fffa;"
| style="background-color:#f5fffa;"|'''用戶留言:'''
|-
| style="background-color:#ffffff;"|{{#ifexist:{{TALKPAGENAME}}|:
{{ {{TALKPAGENAME}} }}|目前暫無留言}}
|-
|[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preload=Template:Sign&editintro=Template:SignNotice}} 新增留言] [{{fullurl:{{TALKPAGENAME}}|action=edit}} 編輯留言]
|}
<noinclude>[[Category:模板]]</noinclude>


如果你的模板不支持ifexist,需要安裝模板擴展語法擴展.Extension:ParserFunctions
http://www.mediawiki.org/wiki/Extension:ParserFunctions

加姓名與日期,增加~~~~


RSS擴展:
可以在頁面中嵌入新聞內容,還比較實用、方便
下載安裝media wiki的RSS newsfeeds插件
http://www.mediawiki.org/wiki/Extension:RSS
將代碼安裝到mediawiki的extensions目錄下,並且LocalSettings.php中啓用插件
include(”extensions/rss.php”); #rss.php爲插件的文件名
插件需要php的rss解析器的支持,比如 
magpie rss parser :http://magpierss.sourceforge.net/
iconv: http://www.php.net/iconv
Check that iconv is installed; this can be done with a simple phpinfo(); 
默認情況下,magpie顯示中文會有亂碼,需要將編碼顯示設置爲utf-8,另外爲了改善性能,可以修改默認的緩存設置。
require_once("rss_fetch.inc");
// specify output encoding default is ISO-8859-1
define('MAGPIE_OUTPUT_ENCODING', 'UTF-8');;
define('MAGPIE_FETCH_TIME_OUT', 60 * 180); 
注意:兩個define語句一定要緊跟在requrie後面,開始我加在rss.php的文件頭,怎麼也不生效.

頁面引用示例:

[http://news.google.cn/news?hl=zh-CN&ie=UTF-8&q=蘇州 蘇州 - Google資訊] <rss>http://news.google.cn/news?hl=zh-CN&ie=UTF-8&q=蘇州&amp; amp;output=rss|charset=UTF-8|short|max=8|title=none</rss>


事件倒計器. <eventcountdown> 
<eventcountdown date="8-8-2008"><daysuntil in="days">8-8-2008</daysuntil></eventcountdown>
example:
'''T27L Internal ER date is 8/20/08,離現在還有<font color="#ff0000"><eventcountdown date="20-8-2008"><daysuntil in="days">20-8-2008</daysuntil></eventcountdown></font>'''

MediaWiki擴展-FCKeditor
一直以來。苦於Mediawiki本身自帶的難用的編輯器。安裝了FCKeditor編輯器,終於可以擺脫mw自帶的編輯器了。。記錄一下安裝過程。。
Modify configuration file 
After you have put the FCKeditor extension in the correct directory, add this line at the end of LocalSettings.php:
require_once $IP . "/extensions/FCKeditor/FCKeditor.php";
修改includes/EditPage.php文件
查找:
$wgOut->addHtml( wfHidden( 'wpAutoSummary', $autosumm ) );
if ( $this->isConflict ) {
替換爲:
$wgOut->addHtml( wfHidden( 'wpAutoSummary', $autosumm ) );
if ( $this->isConflict && wfRunHooks( 'EditPageBeforeConflictDiff', array( &$this, &$wgOut ) )) {

修改includes/Sanitizer.php文件
查找:
return count( $attribs ) ? ' ' . implode( ' ', $attribs ) : '';
替換爲:
if ( !wfRunHooks( 'SanitizerAfterFixTagAttributes', array( $text, $element, &$attribs ) ) ) {
return '';
}
return count( $attribs ) ? ' ' . implode( ' ', $attribs ) : '';
至此。全部修改完畢。已可以正常使用fckeditor編輯器。
PS:Download FCKeditor extension
http://mediawiki.fckeditor.net/index.php/Main_Page#Download_it.21

如何清除頁面緩衝? 
在LocalSettings.php中設置$wgCacheEpoch全局變量,強制現有緩衝過期(參見DefaultSettings.php) 
$wgCacheEpoch = 'date +%Y%m%d%H%M%S';


發佈了6 篇原創文章 · 獲贊 0 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章