命名空间(namespace),又称名字空间,类似于C++和Java中的“命名空间”。即当前页面标题的“前缀”(“命名空间:”),在灰机wiki中,所有的页面都分组存放在不同的“命名空间”中:

  • 没有“前缀”的页面位于主空间中。文章页就属于“主空间”。
  • 类似的还有“帮助:”、“分类:”、“讨论:”等等不同的空间。命名空间使各个页面以用途为依据区别开来。某些名字空间中的页面还具有一些特殊属性,或在与其他页面交互时具有不同的行为。
  • 注意,冒号和前缀也可能并不表示一个名字空间:页面 FAQ:命名空间 实际上位于主空间中,这是因为“FAQ”这个名字空间并不存在

命名空间的使用

在添加内部链接时,条目名字空间内的页面直接使用“[[页面名称]]”的形式进行链接;而其他名字空间内的页面则要使用“[[名字空间:页面名称]]”的形式。

注意区别名字空间与页面分类的区别:

  1. 一个条目有且仅有一个名字空间名称,用以区别页面的种类;
  2. 而一个条目的页面分类在技术上不是必需的,可以没有,也可以有多个——但维基化原则要求我们每个条目至少有一个分类(wikipedia亦是如此)。同样,一个分类之下可以有多个名字空间内的条目。

与维基百科(wikipedia)类似,所有mediawiki搭建的维基站点一般默认带有22个名字空间,其中包括10个基本的名字空间以及对应的讨论名字空间(如UserUser talk);此外还有两个虚拟名字空间。下面的表格例举了当前在灰机wiki上所使用的所有命名空间。

Subject空间 Flow讨论空间
MediaWiki通用命名空间
0 主命名空间(文章) 主命名空间讨论 1
2 用户 User User talk 用户讨论 3
4 项目 Project Project talk 项目讨论 5
6 文件 File File talk 文件讨论 7
8 MediaWiki MediaWiki talk MediaWiki讨论 9
10 模板 Template Template talk 模板讨论 11
12 帮助 Help Help talk 帮助讨论 13
14 分类 Category Category talk 分类讨论 15
100 主题 Portal Portal talk 主题讨论 101
118 草稿 Draft Draft talk 草稿讨论 119
828 模块 Module Module talk 模块讨论 829
2600 话题 Topic Topic talk 话题讨论 N/A
MediaWiki虚拟命名空间
-1 特殊 Special N/A
-2 媒体 Media N/A
Semantic MediaWiki扩展命名空间
100  关系  Relation Relation talk 关系讨论 101
102 属性 Property Property talk 属性讨论 103
104  类型  Type Type talk 类型讨论 105
106 表单 (-Semantic Forms) Form Form talk 表单讨论 107
108 概念 Concept Concept talk 概念讨论 109
170  筛选 (-Semantic Drilldown) Filter Filter talk 筛选讨论 171
HuijiWiki扩展命名空间
274 Html Html N/A
500 博客 Blog N/A
3500 数据 Data N/A
  • 浅灰色表示已被废弃或不存在的命名空间
  • 由SemanticMediaWiki和HuijiWiki提供的空间编号在其他平台可能不适用

基本命名空间

9个基本名字空间,分别具有各自的用途。

主(命名)空间

无前缀。“主名字空间”又称“条目名字空间”,包含了维基上的所有条目页面,或“文章”。

在条目名字空间中,并非所有页面皆作为条目出现,也不计入统计。常见的特例包括:

  • 许多消歧义页,用于消除重名条目产生的歧义。
  • 大量的重定向页,用于跳转到其他的条目页面。
  • 部分列表,特别是用于导航的列表,并不能算是正规的条目。
  • 不包含任何内链([[ ]])的页面

用户命名空间

前缀为“User:”;别名为“用户:”。包含了所有用户的个人页面,以及其个人创建的相关页面。

文件命名空间

前缀为“File:”;别名为“Image:”(旧用法)、“文件:”、“档案:”或“图像:”。包含了图像和声音的文件描述页,以及指向文件本身的链接。参见Special:文件列表包含了全部文件的列表。文件名字空间内的页面可以通过一下三种方式链接:

  • [[File:Wiki.png]]:直接将图像插入页面(插入声音或影片時會顯示播放器,参见图片教程
  • [[:File:Wiki.png]]:产生一个指向文件描述页的内部链接
  • [[Media:Wiki.png]]:产生一个指向文件本身的链接,中文写作[[媒体:Wiki.png]]

MediaWiki名字空间

前缀为“MediaWiki:”。包含了mediawiki软件功能的特殊页面,例如在一些页面上自动生成的信息和链接。这个名字空间用于定制和翻译MediaWiki的软件界面。MessagesZh.php中的$messages消息现在大部分都放在MediaWiki名字空间中。Special:所有消息列举了MediaWiki名字空间中全部可定制的消息。这是一个大的列表,每一行都包含了一条信息和它的讨论页的信息,也包含了信息的当前版本和默认内容。

由于此名字空间下内容的变动会导致整个网站界面的变化,所有的消息都被保护,只有管理员可以编辑。

模板命名空间

前缀为“Template:”;别名为“模板:”;简写“T:”。包含了所有的模板

帮助命名空间

前缀为“Help:”;别名为“帮助:”;简写“H:”。包含了所有使用指南信息。有些内容帮助读者更好地使用维基,而另一些内容则为编者准备,用来更好地编写维基百科。有些信息亦是从元维基MediaWiki网站或者维基百科上复制而来的。

分类命名空间

前缀为“Category:”;别名为“分类:”;简写“CAT:”。包含了所有的分类页面,内容为该分类之下的页面和子分类列表,以及可选的分类提示信息。

主题命名空间

前缀为“Portal:”简写“P:”。包含了所有的主题页面。一个主题页面是关于某一方面内容的信息集合,一个相关条目的入口。如Portal:数学包含了是一个与数学相关的综述以及条目分类入口。

草稿命名空间

前缀为“Draft:”。

模块命名空间

前缀为“Module:”。包含了所有的Scribunto模块。模块让人使用Lua脚本语言实现在MediaWiki及其扩展的基本集中未包含的可供在模板中调用的解析器函数。参考h:help:Lua

话题名字空间

前缀为“Topic:”。“Topic:”是特殊的讨论页,所以其没有对应的讨论页。目前仅在“Flow”中出现。

讨论命名空间

以上提到的每一种名字空间都包含一个相应的“讨论名字空间”,或称“对话名字空间”。在名字空间的名称后面添加“_talk:”即可得到对应的讨论名字空间。例如,条目名字空间的讨论页皆使用“Talk:”前缀,而与用户名字空间相对应的用户对话名字空间则使用“User_talk:”作为前缀。其中下划线“_”可以替代为一个空格。而讨论名字空间的中文名称即在对应的名字空间中文名之后加上讨论,如用户讨论:User talk:的中文名称。

讨论名字空间最主要的作用是用于编者们对条目的主题进行讨论;同时为了避免自我提及,一些与条目相关的维基计划信息也会在条目的讨论页中列出(如“此条目已被学术论文引用”)。一个特例是User talk名字空间。用户讨论名字空间用于向特定的用户进行留言。特别地,如果一个已登录用户的用户页发生了改动,他会在每一个打开的页面顶端看到一个新消息提示栏(“您有新消息”),直到他查看了自己的用户讨论页。

虚拟名字空间

在维基百科的18个名字空间中,有两个特殊的名字空间,其中的页面自动生成,不包含在数据库中,被称为“虚拟名字空间”。它们是SpecialMedia

特殊名字空间

前缀为Special:。此名字空间中的页面由MediaWiki软件根据用户需要自动生成。如Special:最近更改会自动生成最新创建的页面列表。这些特殊页面可以通过一般的内部链接进行链接,如Special:最近更改。但如果一个特殊页面包含有参数,则必须给出一个完整的URL链接,如同普通的外部链接。例如,http://zh.wikipedia.org/w/wiki.phtml?title=Special:最近更改&days=3&limit=10 可以列出最近的10次更改。使用一些魔术字可以简化输入。Special:特殊页面包含了全部特殊页面的列表。

媒体名字空间

前缀为Media:,中文是媒体:,用于直接创建一个指向文件本身的链接,而不是文件描述页。

在mediawiki中,不允许创建指向虚拟名字空间的重定向页面。

内部链接

灰机内链与跨语言链接

  • [[A]]——一般内链,产生指向本站点内的条目A
  • [[<灰机站点缩写>:A]]——产生指向灰机平台上某个站点内“[[条目A]]”的链接。站点缩写=该站点域名中huiji.wiki前的那一部分
  • [[wikipedia:A]]——指向灰机默认姊妹项目站点的[[条目A]],具体列表可以参照跨wiki页面来查看
  • [[en:A]]——指向本站点其他语种的链接,这个需要在跨wiki页面来手动添加(管理员权限),理论上不一定是“en”,前缀可以自定义为任意字符。

ns编号信息

使用魔术字{{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:100}}{{ns:Portal}} {{ns:101}}{{ns:Portal talk}}
{{ns:118}}{{ns:Draft}} {{ns:119}}{{ns:Draft talk}}
{{ns:828}}{{ns:Module}} 模块 {{ns:829}}{{ns:Module talk}} 模块讨论
{{ns:2600}}{{ns:Topic}} Topic

注意主题名字空间与模块名字空间的编号很特殊,因为它并不是标准的MediaWiki名字空间。为了避免与标准名字空间冲突,使用了一个较大的编号数字。

所有编号的名字空间都能够搜索到。


查阅ns编号的方法

F12 ns.png
  1. 变量:使用 {{NAMESPACE}} 变量可以得到当前页面所处的名字空间。
  2. Javascript:Javascript变量 wgCanonicalNamespace 记录了名字空间的完整名称。变量 wgNamespaceNumber 则记录了名字空间的索引序数。
  3. 使用浏览器的调试模式(Chrome下F12)查看html代码的头部,通过MediaWiki预设的class即可知道当前命名空间的序号(见右图)

在CSS中使用ns代码

页面 HTML 代码中的 <body> 标记具有两个根据名字空间不同而不同的 CSS 类:一个是 ns-#,其中的 # 是名字空间的索引;另一个是 ns-XXX,其中的 XXX 在所有位于主空间的页面中为“subject”,在所有位于 特殊 名字空间的页面中为“special”,在所有位于讨论空间的页面中为“talk”。因此,下面的 CSS 代码就可以根据对象所处名字空间的不同而改变它的外观:

.ns-subject a 
{   /* 使主题页面上的大多数链接显示为绿色。 */
    color: #00FF00;
}
.ns-talk a 
{      /* 让讨论页中的链接显示为蓝色。 */
    color: #0000FF;
}
.ns-3 a 
{         /* 使用户讨论页中的链接显示为红色。 */
    color: #FF0000;
}

注释

avatar
avatar
卢斯 波顿
0

java脚本233

24个月