启用Mediawiki的图片上传功能
- 设置images文件夹为可写
- 在配置文件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§ion=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';
(gaogao0603) |