Manual:配置皮肤

From mediawiki.org
This page is a translated version of the page Manual:Skin configuration and the translation is 100% complete.

这个页面说明了如何在wiki上配置页面

本文档适用于MediaWiki 1.31+

关于使用皮肤,请参阅Help:皮肤 了解一般皮肤信息。

对于想要创建新皮肤或编辑现有皮肤的开发者,请参阅手册:如何制作MediaWiki皮肤获取技术信息。

下载皮肤

MediaWiki压缩包下载预装了多种皮肤。 有关列表,请参阅捆绑的扩展和皮肤#皮肤

然而,如果你从from Git下载的MediaWiki,又或者打算安装额外的皮肤,你需要单独下载皮肤的代码。

许多MediaWiki的皮肤都包含在Wikimedia的Git仓库(在此处查看全部列表)。 你可以从skin distributor下载皮肤压缩包。

想通过GIT下载库里面的皮肤,你可以使用一下命令

git clone https://gerrit.wikimedia.org/r/mediawiki/skins/[皮肤名]

比如:要获得默认皮肤Vector,应从MediaWiki安装文件夹的skins/子目录中提供以下内容:

git clone https://gerrit.wikimedia.org/r/mediawiki/skins/Vector

签出(checkout)一个合适的皮肤发布版本。 进入新目录并执行:

git checkout REL1_35

(将REL1_35替换为另一个发布分支或标签)

启用皮肤

在你的/skins目录里,如果你想使用其中的任何皮肤,你必须在 LocalSettings.php 文件中添加一个require_once语句或wmLoadSkin语句来启用它 举个例子:想启动Vector,添加以下语句。 如果你有多个皮肤,必须用单独的语句启用每个皮肤:

// MediaWiki 1.24 or less
require_once "$IP/skins/Vector/Vector.php";
// MediaWiki 1.25+
wfLoadSkin( 'Vector' );

(这和启用扩展类似, 只是目录不一样。)

根据皮肤的选择可能有额外的步骤。 每个皮肤安装的细节介绍已经存在于mediawiki.org每个皮肤的页面中;比如Vector可以参考Skin:Vector#Installation。其他皮肤的介绍也是类似的。

设置wiki的默认皮肤

LocalSettings.php 中的$wgDefaultSkin 变量中指定皮肤的小写的名可以为新用户设定一个设定一个默认的皮肤。用户仍然可以通过参数设置页面修改自己的皮肤,除非你卸载或禁用其他所有的皮肤,或者完全禁用偏好(见下文)。例如:

$wgDefaultSkin = 'vector';

在维基中改变这些值将自动更改所有使用默认皮肤用户的设置。 参数维护脚本可以改变用户的喜好(userOptions.php ),但你很可能不需要使用它。

如果你不更改这个值,Vector就是默认皮肤。

卸载皮肤

要卸载皮肤,从您的LocalSettings.php 文件移除wfLoadSkin(对于MediaWiki 1.24或是旧版本为require_once)一行。 之后您可以从skins/目录移除皮肤文件。

如果任何用户使用已经被卸载的皮肤,MediaWiki会自动将它们转换到wiki的默认皮肤。

在不卸载的情况下停用皮肤

管理员可以在$wgSkipSkins 数组中列出要被限制的皮肤,从而限制在用户的参数设置中提供的全站皮肤选项。这可能在你想测试新皮肤而不想让用户看见时有用。要达到这种效果,在你的LocalSettings.php 中写入类似下面的内容:

// To remove various skins from the User Preferences choices
$wgSkipSkins = array( "monobook", "timeless" );

你可以使用useskin URL参数预览皮肤。

全站CSS修改

MediaWiki允许管理员指定全站CSS规则,并将其添加到渲染的每个页面中。 这些规则可在$wgUseSiteCss 设置为true时,编辑你wiki上的Gadget-site.css页面(旧版为Common.css)来添加。 除全局样式表外,还可以指定仅在特定皮肤中使用的CSS规则(参见手册:界面/样式表)。

用户CSS修改

用户也可以通过创建页面“User:用户名/common.css”指定其自己的CSS规则。 此页面上的CSS将会被应用,而无论用户使用皮肤是什么。 如果网站更改为其他默认皮肤,用户的自定义CSS将像以前一样继续生效。 此功能可通过在LocalSettings.php 中将$wgAllowUserCss 设为true启用。 用户也可通过创建页面“User:用户名/皮肤名.css”将CSS应用到特定皮肤上。 例如一名使用MonoBook皮肤的用户,其将编辑Special:MyPage/monobook.css

禁用站点用户在用户参数设置中选择皮肤的功能

MediaWiki版本:
1.16

系统管理员可以完全移除“皮肤”选项,其就完全不会在用户参数设置中显示。如你的站点将使用自定义皮肤,其他任何皮肤看起来都不合适,那这样做是有意义的。

要这样做的话,在LocalSettings.php中添加一行包含以下代码的新内容。其将从参数设置中移除“皮肤”选项,并消除在URL中使用useskin参数的可能性。

$wgHiddenPrefs[] = 'skin';