zoukankan      html  css  js  c++  java
  • 学习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="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="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';

  • 相关阅读:
    python基础——返回函数
    python基础——sorted()函数
    python基础——filter函数
    python基础——map/reduce
    python基础——高阶函数
    python基础——迭代器
    python——生成器
    轻量级文本编辑器,Notepad最佳替代品:Notepad++
    python网络编程
    如何检测远程主机上的某个端口是否开启?
  • 原文地址:https://www.cnblogs.com/danghuijian/p/4400480.html
Copyright © 2011-2022 走看看