美国主机Lunarpages

Mediawiki中文技术论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6624|回复: 0

学习MediaWiki笔记(下)

[复制链接]
发表于 2011-6-20 16:10:24 | 显示全部楼层 |阅读模式
Godaddy主机最新优惠码
ediawiki的边框效果
漂亮的页面布局,离不开各种边框的使用。通过不同样式的边框,可以让不同的内容板块一目了然,有效改进页面的可读性。
边框样式的基础实现有两种:
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/Ma ... e_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,需要安装模板扩展语法扩展.ExtensionarserFunctions
http://www.mediawiki.org/wiki/ExtensionarserFunctions

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



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 ) : '';
替换为:
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

美国HostEase虚拟主机一年198元

Archiver|手机版|小黑屋|Mediawiki中文技术论坛

GMT+8, 2024-11-24 20:50 , Processed in 0.040388 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表