帮助:命名空间
此帮助页面之内容部分或全部来自另一Wiki的页面,依CC by-nc 帮助:命名空间协议引入,贡献者见原始页面。本站的版本可能与原始页面有差异。
命名空间(namespace),又称名字空间,类似于C++和Java中的“命名空间”。即当前页面标题的“前缀”(“命名空间:
”),在白荆回廊Wiki中,所有的页面都分组存放在不同的“命名空间”中:
- 没有“前缀”的页面位于主空间中。文章页就属于“主空间”。
- 类似的还有“帮助:”、“分类:”、“讨论:”等等不同的空间。命名空间使各个页面以用途为依据区别开来。某些名字空间中的页面还具有一些特殊属性,或在与其他页面交互时具有不同的行为。
- 注意,冒号和前缀也可能并不表示一个名字空间:页面 FAQ:命名空间 实际上位于主空间中,这是因为“FAQ”这个名字空间并不存在。
命名空间编号信息
使用魔术字{{ns:}}可以返回指定索引编号所对应名字空间的本地名称。如下表:
内容页面名字空间 | 讨论页名字空间 | |||
---|---|---|---|---|
用法 | 输出 | 用法 | 输出 | |
{{ns:-2}}或{{ns:Media}} | 媒体文件 | {{ns:-1}}或{{ns:Special}} | 特殊 | |
{{ns:0}} | {{ns:1}}或{{ns:Talk}} | 讨论 | ||
{{ns:2}}或{{ns:User}} | 用户 | {{ns:3}}或{{ns:User talk}} | 用户讨论 | |
{{ns:4}}或{{ns:Project}} | 白荆回廊Wiki | {{ns:5}}或{{ns:Project talk}} | 白荆回廊Wiki讨论 | |
{{ns:6}}或{{ns:File}}或{{ns:Image}} | 文件 | {{ns:7}}或{{ns:File talk}}或{{ns:Image talk}} | 文件讨论 | |
{{ns:8}}或{{ns:MediaWiki}} | MediaWiki | {{ns:9}}或{{ns:MediaWiki talk}} | MediaWiki讨论 | |
{{ns:10}}或{{ns:Template}} | 模板 | {{ns:11}}或{{ns:Template talk}} | 模板讨论 | |
{{ns:12}}或{{ns:Help}} | 帮助 | {{ns:13}}或{{ns:Help talk}} | 帮助讨论 | |
{{ns:14}}或{{ns:Category}} | 分类 | {{ns:15}}或{{ns:Category talk}} | 分类讨论 | |
{{ns:828}}或{{ns:Module}} | 模块 | {{ns:829}}或{{ns:Module talk}} | 模块讨论 | |
{{ns:274}}或{{ns:Widget}} | Widget | {{ns:275}}或{{ns:Widget talk}} | Widget talk | |
{{ns:2300}}或{{ns:Gadget}} | Gadget | {{ns:2301}}或{{ns:Gadget talk}} | Gadget talk | |
{{ns:2600}}或{{ns:Topic}} | Topic |
此外还有SMW引入的名字空间:
属性 属性讨论 表单 表单讨论 概念 概念讨论 smw/schema smw/schema talk Rule Rule talk Widget Widget talk 模块 模块讨论 Gadget Gadget talk Gadget definition Gadget definition talk Topic
命名空间的使用
在添加内部链接时,条目名字空间内的页面直接使用“[[页面名称]]”的形式进行链接;而其他名字空间内的页面则要使用“[[名字空间:页面名称]]”的形式。
注意区别名字空间与页面分类的区别:
- 一个条目有且仅有一个名字空间名称,用以区别页面的种类;
- 而一个条目的页面分类在技术上不是必需的,可以没有,也可以有多个——但维基化的一般原则要求我们每个条目至少有一个分类(Wikipedia亦是如此),否则会被归入“未分类的页面”。同样,一个分类之下可以有多个名字空间内的条目。
与维基百科(Wikipedia)类似,所有MediaWiki搭建的维基站点一般默认带有22个名字空间,其中包括10个基本的名字空间以及对应的讨论名字空间(如User和User talk);此外还有两个虚拟名字空间。下面的表格例举了当前在白荆回廊Wiki上所使用的所有命名空间。
基本命名空间
主(命名)空间
无前缀。“主名字空间”又称“条目名字空间”,包含了维基上的所有条目页面,或“文章”。
在条目名字空间中,并非所有页面皆作为条目出现,也不计入统计。常见的特例包括:
文件命名空间
前缀为“文件:”;别名为“Image:”(旧用法)、“文件:”、“档案:”或“图像:”。包含了图像和声音的文件描述页,以及指向文件本身的链接。参见特殊:文件列表包含了全部文件的列表。文件名字空间内的页面可以通过一下三种方式链接:
- [[File:Wiki.png]]:直接将图像插入页面(插入声音或影片時會顯示播放器,参见图片教程)
- [[:File:Wiki.png]]:产生一个指向文件描述页的内部链接
- [[Media:Wiki.png]]:产生一个指向文件本身的链接,中文写作[[媒体:Wiki.png]]
模板命名空间
前缀为“Template:”;别名为“模板:”;简写“T:”。包含了所有的模板。
帮助命名空间
前缀为“Help:”;别名为“帮助:”;简写“H:”。包含了所有使用指南信息。有些内容帮助读者更好地使用维基,而另一些内容则为编者准备,用来更好地编写维基百科。有些信息亦是从元维基和[[:mw:|MediaWiki网站]]或者维基百科上复制而来的。
分类命名空间
前缀为“Category:”;别名为“分类:”;简写“CAT:”。包含了所有的分类页面,内容为该分类之下的页面和子分类列表,以及可选的分类提示信息。
本Wiki上“P:”是Property:的简写。
项目命名空间
前缀为“白荆回廊Wiki:”;别名为“Project:”。包含了与站点信息相关的页面。
在本Wiki上只允许版主和管理员修改。
MediaWiki名字空间
前缀为“MediaWiki:”。包含了MediaWiki软件功能的特殊页面,例如在一些页面上自动生成的信息和链接。这个名字空间用于定制和翻译MediaWiki的软件界面。MessagesZh.php中的$messages消息现在大部分都放在MediaWiki名字空间中。特殊:所有信息列举了MediaWiki名字空间中全部可定制的消息。这是一个大的列表,每一行都包含了一条信息和它的讨论页的信息,也包含了信息的当前版本和默认内容。
由于此名字空间下内容的变动会导致整个网站界面的变化,所有的消息都被保护,只有管理员可以编辑。
本Wiki上开启了“MW:”作为简写。
模块命名空间
前缀为“Module:”。包含了所有的Scribunto模块。模块让人使用Lua脚本语言实现在MediaWiki及其扩展的基本集中未包含的可供在模板中调用的解析器函数。参考h:help:Lua。
用户命名空间
前缀为“用户:”;别名为“User:”。包含了所有用户的个人页面,以及其个人创建的相关页面。
话题名字空间
本站不使用。
讨论命名空间
以上提到的每一种名字空间都包含一个相应的“讨论名字空间”,或称“对话名字空间”。在名字空间的名称后面添加“_talk:”即可得到对应的讨论名字空间。例如,条目名字空间的讨论页皆使用“Talk:”前缀,而与用户名字空间相对应的用户对话名字空间则使用“User_talk:”作为前缀。其中下划线“_”可以替代为一个空格。而讨论名字空间的中文名称即在对应的名字空间中文名之后加上讨论,如用户讨论:为User talk:的中文名称。
讨论名字空间最主要的作用是用于编者们对条目的主题进行讨论;同时为了避免自我提及,一些与条目相关的维基计划信息也会在条目的讨论页中列出(如“此条目已被学术论文引用”)。一个特例是User talk名字空间。用户讨论名字空间用于向特定的用户进行留言。特别地,如果一个已登录用户的用户页发生了改动,他会在每一个打开的页面顶端看到一个新消息提示栏(“您有新消息”),直到他查看了自己的用户讨论页。
虚拟名字空间
在维基百科的18个名字空间中,有两个特殊的名字空间,其中的页面自动生成,不包含在数据库中,被称为“虚拟名字空间”。它们是Special和Media。
特殊名字空间
前缀为特殊:。此名字空间中的页面由MediaWiki软件根据用户需要自动生成。如特殊:最近更改会自动生成最新创建的页面列表。这些特殊页面可以通过一般的内部链接进行链接,如特殊:最近更改。但如果一个特殊页面包含有参数,则必须给出一个完整的URL链接,如同普通的外部链接。例如,https://wiki.biligame.com/bjhl/index.php?title=特殊:最近更改&days=3&limit=10 可以列出最近的10次更改。使用一些魔术字可以简化输入。特殊:特殊页面包含了全部特殊页面的列表。
媒体名字空间
前缀为Media:,中文是媒体:,用于直接创建一个指向文件本身的链接,而不是文件描述页。
在MediaWiki中,不允许创建指向虚拟名字空间的重定向页面。
查阅ns编号的方法
- 变量:使用 {{NAMESPACE}} 变量可以得到当前页面所处的名字空间。
- Javascript:Javascript变量 wgCanonicalNamespace 记录了名字空间的完整名称。变量 wgNamespaceNumber 则记录了名字空间的索引序数。
- 使用浏览器的调试模式(Chrome下F12)查看html代码的头部,通过MediaWiki预设的class即可知道当前命名空间的序号。
在CSS中使用ns代码
页面 HTML 代码中的 <body> 标记具有两个根据名字空间不同而不同的 CSS 类
- 一个是 ns-#,其中的 # 是名字空间的数字索引
- 另一个是 ns-XXX
- 所有位于非讨论页为“ns-subject”
- 所有位于讨论页为“ns-talk”
- 所有位于 特殊 名字空间的页面中为“ns-special”
下面的 CSS 代码就可以根据对象所处名字空间的不同而改变它的外观:
.ns-subject a
{ /* 使主题页面上的大多数链接显示为绿色。 */
color: #00FF00;
}
.ns-talk a
{ /* 让讨论页中的链接显示为蓝色。 */
color: #0000FF;
}
.ns-3 a
{ /* 使用户讨论页中的链接显示为红色。 */
color: #FF0000;
}