学习MediaWiki笔记

MediaWiki

开放本地图片上传
【版本1.5.X及更高版本】取消这一行的行首#号

# $wgEnableUploads   = true;
【版本1.4.X】取消第3行和第6行的注释(即行首的#号)

## To enable image uploads, make sure the 'images' directory
## is writable, then uncomment this:
# $wgDisableUploads   = false;
$wgUseImageResize   = true;
# $wgUseImageMagick = true;
# $wgImageMagickConvertCommand = "/usr/bin/convert";
Template:Notice请不要使用windows自带的记事本改程序!mediawiki使用utf-8格式保存程
序,记事本会在文件开始多出三个字节,而这会导致网站运行出错。推荐使用EmEditor进行
编辑(另存为utf-8,不要unicode标记)。


如何增加上载文件功能?
我需要增加上载PDF,CAJ,WORD文件功能,最好还能下载,请教?
在wiki/inclueds/defaultsetings.php 找出到下面這一段,它限制了哪些類型檔案(png,gif,jpg,jpeg)可 以上傳,哪一類型(html,htm......)不能上傳,依照您的需要更改它,然後貼到localsetings.php的最下面即 可
/**
* This is the list of preferred extensions for uploading files. Uploading files
* with extensions not in this list will trigger a warning.
*/
$wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg' );
/** Files with these extensions will never be allowed as uploads. */
$wgFileBlacklist = array(
# HTML may contain cookie-stealing JavaScript and web bugs
'html', 'htm', 'js', 'jsb',
# PHP scripts may execute arbitrary code on the server
'php', 'phtml', 'php3', 'php4', 'phps',
# Other types that may be interpreted by some servers
'shtml', 'jhtml', 'pl', 'py', 'cgi',
# May contain harmful executables for Windows victims
'exe', 'scr', 'dll', 'msi', 'vbs', 'bat', 'com', 'pif', 'cmd', 'vxd', 'cpl' );

修改网站LOGO
想要将左上角的mediawiki图标替换为自己的图标,可以在skins/common/images/目录下找
到名为“wiki.png”的图片文件,将它替换为自己的图片即可。

标签及其他系统提示、链接的修改
进入Special:Allmessages页面(在特殊页面中可以找到,一般翻译为“系统界面”,本站
则修改为“界面定制”标题)
在这个页面上,左侧是该信息所在的网址,中间是系统初始设置,右侧是当前设置。搜索页
面,找到要修改的字符串,点左侧相应的链接。

修改左侧导航条
当需要在mediawiki左侧导航条的内容时,请在搜索栏中输入“mediawiki:sidebar”,然后
进行编辑(需要以站长或管理员身份登录)。
第一行(一个前导*)表示导航栏的名称,其提示文本在“mediawiki:navigation”页面中
修改,也可以直接输入文字信息(文字不能与内部mediawiki参数页面重名)。
用户可根据需求删除/增加mediawiki:sidebar页面中的项目,修改后左侧导航栏就会发生相应改变。(本方法适用于mediawiki默认的monobook皮肤风格)

新增左测导航条
<div id="p-function" class="portlet">
<h5>主题分类</h5>
<div class="pBody">
<ul>
<li id=function><a href="
http://ra.sz.webex.com/rawiki/index.php/%E9%A1%B9%E7%9B%AE%E6%96%87%E6%A1%A3">项目文档</a></li>
<li id=function><a href="
http://ra.sz.webex.com/rawiki/index.php/SITE_%E9%93%BE%E6%8E%A5">Site链接</a></li>
<li id=function><a href="
http://ra.sz.webex.com/rawiki/index.php/Environment%E4%BF%A1%E6%81%AF">Environment信息</a></li>
<li id=function><a href="
http://ra.sz.webex.com/rawiki/index.php/%E4%BA%A4%E6%B5%81%E5%AD%A6%E4%B9%A0">交流学习</a></li>
<li id=function><a href="
http://ra.sz.webex.com/rawiki/index.php/%E6%8A%80%E6%9C%AF%E6%96%87%E6%91%98">技术文摘</a></li>
<li id=function><a href="
http://ra.sz.webex.com/rawiki/index.php/%E5%85%B6%E4%BB%96%E4%BF%A1%E6%81%AF">其他信息</li>
</ul>
</div>
</div>


增加友情链接侧栏
想在mediawiki工具栏下方添加友情链接,请打开skins/Monobook.php,找到如下两行:
<?php if( $this->data['language_urls'] ) { ?><div id="p-lang" class="portlet">
<h5><?php $this->msg('otherlanguages') ?></h5>

在前面添加:

<div class="portlet" id="p-tb">
<h5>友情链接</h5>
<div class="pBody">
<ul>
<li id="feedlinks""><a href="http://www.allwiki.com" target="_blank"><img src="http://www.allwiki.com/images/allwiki_logo.gif" border="0" alt="天下维客" /></a></li>
<li id="feedlinks""><a href="http://zh.wikipedia.org" target="_blank"><img src="http://upload.wikimedia.org/wikipedia/zh/c/ce/Wiki_button.png" border="0" alt="中文维基百科" /></a></li>
</ul>
</div>
</div>
请根据需要,修改上面内容中的链接、图片网址和alt字串(文字提示)。

注意:①上述内容必须使用UTF-8格式进行存盘,否则汉字显示乱码;②本修改只针对默认的monobook风格。

界面信息修改
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" 是边框样式,不写的话就不出边框

http://www.foodbk.com/wiki/Wikipedia:%E4%BD%BF%E7%94%A8%E8%A1%A8%E6%A0%BC
让一行、一列或一整个表格都是同样的颜色
{| 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;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';

你可能感兴趣的:(media)