用户:Missx/mediawiki修改

来自Blueidea
< 用户:Missx
蓝色讨论 | 贡献2008-10-14T20:12:11的版本 子页面导航

跳转至: 导航搜索

增加如同蓝色理想维基右上角的贡献

  • 在根目录下找到Localsetting.php 在最后加入参数
$wgMaxCredits="5"; //5可以修改成你想要显示的作者个数

Bi system importent.gifNOTICE

可能因为editplus的某些配置原因,在本地机调试的时候使用ep编辑localsetting.php的时候会出现无法访问的问题。


  • 找语言包,如果使用的是中文的,找到languages\messages\MessageZh_hans.php修改代码
'lastmodifiedat'    => '最后修订 $1 $2。', # $1 date, $2 time
'viewcount'         => '浏览$1次',
 
'anonymous'        => '匿名用户',
'siteuser'         => ' $1 ',
'lastmodifiedatby' => '此页由$3于 $1 $2 ', # $1 date, $2 time, $3 user
'othercontribs'    => '在$1的基础上最后更改。',
'siteusers'        => ' $1 ',
  • 找到你的模板文件,例如skin\monobook.php里面,找到你要放置该文字的地方 加入代买
<?php if($this->data['credits']) $this->html('credits');?>

就可以输出类似蓝色理想的贡献文本。

  • 蓝色理想的代码为:
<?php if($this->data['credits']) { ?>
  <div id="byLine">
     <?php $this->html('credits');?>
  </div>
<?php } ?>

增加文件上传类型

  • 找到根目录下的localsetting.php
  • 增加参数
$wgFileExtensions=array("jpg","png","doc");//文件上传类型
  • 该参数的使用方法:
// Add one filetype to the default array
$wgFileExtensions[] = 'pdf';
 
// Add several file types to the default array
$wgFileExtensions = array_merge( $wgFileExtensions, array( 'pdf', 'ppt', 'zip' ) );
 
// Override the default with a bundle of filetypes:
$wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg', 'ppt', 'pdf', 'doc', 'psd', 'mp3','xls', 'zip','swf', 'doc', 'odt', 'odc', 'odp', 'odg', 'mpp');
  • 相关页面

http://www.mediawiki.org/wiki/Manual:$wgFileExtensions

增加导航菜单

子页面导航

因为wiki是网状结构,在wiki里面没有真正的导航菜单.在现在这个页面看到的实际上是因为这个名字空间开启了SubPages.

现有蓝色理想里面开启子页面的代码为:

$wgNamespacesWithSubpages =  array(
 NS_USER      => true,
 NS_MEDIAWIKI => true,
 NS_HELP      => true
);

其中$wgNamespacesWithSubpages的使用方法为:

#单个页面开启的方法:
$wgNamespacesWithSubpages[NS_MAIN] = true;
#多个页面数字数组的控制,这个方法不是很直观,其中0代表false,1代表ture:
$wgNamespacesWithSubpages = array( -1 => 0, 0 => 1, 1 => 1, 2 => 1, 3 => 1, 4 => 1, 5 => 1, 6 => 0, 7 => 1, 8 => 0, 9 => 1, 10 => 0, 11 => 1,12 => 1);
#多个页面数组的开启方法,这个方法直观一些:
$wgNamespacesWithSubpages =  array(
        NS_TALK           => true,
        NS_USER           => true,
        NS_USER_TALK      => true,
        NS_PROJECT_TALK   => true,
        NS_IMAGE_TALK     => true,
        NS_MEDIAWIKI_TALK => true,
        NS_TEMPLATE_TALK  => true,
        NS_HELP_TALK      => true,
        NS_CATEGORY_TALK  => true
 );
#开启所有页面的子页面方法:
$wgNamespacesWithSubpages = array_fill(0, 200, true);

Bi system importent.gifNOTICE

如果是在开放wiki里面依旧要注意结合template的设置来一起操作.一旦允许了子页面,并且开启了所有空间都可以变成template的时候,恶意添加将会更加容易.


模板导航

模板导航实际上就是手工导航. 以台棒为例:下面的是他们的导航模板代码:

<font size="-3"> <font color="#008000">• 目前所在分類: [[:category:主分類|主分類]] > [[:category:棒球|棒球]] > [[:category:{{{1}}}|{{{1}}}]]</font>

Bi system importent.gifNOTICE

在台棒里面,这个是受到了保护的,所以请大家注意一下保护.
PS.如果硬要将网状结构的wiki变成树状结构是有点困难的.最好还是学习下维基百科的做法,以某一种方式做分类,其他的方式做辅助.


图片的引用

内部图片引用

先将图片使用wiki上传到服务器上面,然后通过使用[[Image:图片名称.后缀]]来调用图片.该引用还有很多的参数设置,详细可以查看帮助.

外部图片的调用

  • 先在Localsetting.php里面增加如下参数:
$wgAllowExternalImages="true";

以上允许使用直接粘贴图片地址就可以调用得到图片:即使用

http://www.mediawiki.org/wiki/Image:Example.jpg 的方式直接使用图片而不需要将图片上传.

安全的转化外部图片

$wgAllowExternalImages上方式有一个缺点,就是你可以让任何人调用来自任何网站的图片.这样的安全性比较低下,不过mediawiki给了另外一个参数来限制这样的情况:$wgAllowExternalImagesFrom

该参数的赋值方式如下:

$wgAllowExternalImagesFrom = 'http://127.0.0.1/';
$wgAllowExternalImagesFrom = array( 'http://127.0.0.1/', 'http://www.example.com/' );

这样允许你的网址只解析来自于这两个网站的图片,而将其他的图片显示为链接.

Bi system importent.gifNOTICE

注意,使用这个参数的时候要将$wgAllowExternalImages定义为false.
PS.在默认的参数里面$wgAllowExternalImages实际上就是为false,你只要删除Localsetting.php里面的就可以了.


首页的模板解析

某些人说看到wiki的首页模板感觉很头大 我这里稍微解释下:

Missx help index layout.gif

首先,可以看到蓝色理想维基里面的布局重用性很高,基本上属于单一布局加上颜色变化.所以我先确定了一个首页布局模板.

这个模板页面最终使用的时候是这样:

{{首页布局
|颜色代码
|标题名
|内容模板名称
}}

如此,我们就得到一个布局页面,当然,里面的代码和参数变量可以使用任意定义.上面的这种是需要严格注意顺序的.下面的这种是不需要严格注意顺序,因为它不再以类数组的方式循环得到Template里面的变量.

{{首页布局
|颜色代码=
|标题名=
|内容模板名称=
}}

Missx help template content.gif

得到这个模板之后,我们还要确定一个内容模板,以后编辑的时候可以不用动布局模板,同时也可以提高可读性,内容模板的定义是随意的,也就是随便你怎么定义,没有特定性.

Missx help template integration.gif

之后我们就要得到一个结合这两个的模板,我使用一个已有的例子:Template:导航模板 我们可以看到其源代码是

{{首页布局
|标题背景色=#efefef
|标题=导航
|内容模板名=导航内容
}}

为了提高可读性我在编写的时候使用了"变量名=变量"的模式.这样,我就将内容的模板套在布局的模板当中,然后再在即将引用的模板里面将两者的结果保存.这样首页就可以使用较少的代码实现效果.当然,你也可以直接将这个代码写到首页而不另外存为其他的模板.

Missx help template index.gif

最后,我们在首页使用wiki语法打好框架,将各个模板放进去,预览,保存,即可.

Bi system importent.gifNOTICE

注意逻辑明确关系和对系统的消耗,模板嵌套模板实际上有点类似我们使用的模板引擎了.