Namespace,译作“命名空间”或“名字空间”,是 MediaWiki 的一种以前缀区分页面的方式,不同的命名空间就像公司的不同部分。其大部分属性均可在后端更改配置,且可被配置别名映射。
MediaWiki 默认的 18个内置命名空间:
除了以上 18 个内置命名空间外,也可以由扩展、插件或后端手动配置更多命名空间。
命名空间编号 -1、-2 为“虚拟命名”空间。虚拟命名空间与数据库中的页面不对应,由 MediaWiki 自动生成;编号 0~15 为“真实”命名空间,偶数为基本命名空间(主题空间),奇数(基本命名空间的编号 +1)为对应的讨论页(讨论命名空间)。
命名空间包含 8
个属性:id
(唯一整数编号)、case
(大小写方式)、name
(显示名称)、subpages
(是否允许子页面)、canonical
(规范名称)、content
(是否属于内容命名空间)、nonincludable
(是否不可被嵌入)、defaultcontentmodel
(默认页面模型)
,可以通过例如
API 沙盒来获取每个 wiki 所配置的命名空间及其属性。
命名空间可被配置别名(重定向),可通过 API 沙盒 查看,一个命名空间可有多个别名。通常非英文 wiki 会配置本地语言的别名。
内容命名空间默认只包含“(主)”命名空间,其会影响默认搜索(内容页面)的范围;也会影响到部分特殊页面:Special:Random、Special:Statistics、Special:AncientPages、Special:DeadendPages、Special:FewestRevisions、Special:LonelyPages、Special:MostCategories、Special:MostInterwikis、Special:RandomPage、Special:ShortPages、Special:LongPages、Special:UncategorizedPages、Special:WithoutInterwiki;以及影响魔术词
{{NUMBEROFARTICLES}}
的统计;和影响页面被链入通知的生效范围。
{{NUMBEROFARTICLES}}
{{PAGESINNS:编号}}
、{{PAGESINNAMESPACE:编号}}
{{PAGESINNS:0}}
与前者的不同之处在于本变量包括重定向和消歧义页面,默认被禁用。
{{NAMESPACE}}
、{{NAMESPACE:完整页面名称}}
{{NAMESPACEE}}
、{{NAMESPACEE:完整页面名称}}
{{NAMESPACENUMBER}}
、{{NAMESPACENUMBER:命名空间名称}}
{{SUBJECTSPACE}}
、{{ARTICLESPACE}}
、{{SUBJECTSPACE:完整页面名称}}
、{{ARTICLESPACE:完整页面名称}}
{{SUBJECTSPACEE}}
、{{ARTICLESPACEE}}
、{{SUBJECTSPACEE:完整页面名称}}
、{{ARTICLESPACEE:完整页面名称}}
{{TALKSPACE}}
、{{TALKSPACE:完整页面名称}}
{{TALKSPACEE}}
、{{TALKSPACEE:完整页面名称}}
{{ns:命名空间编号或命名空间名称}}
{{nse:命名空间编号或命名空间名称}}
<body>
会附带一个例如 ns-0
的类名,对应当前页面的命名空间编号;如果是基本命名空间,会附带一个
ns-subject
的类名;如果是讨论命名空间,则会附带一个
ns-talk
的类名。CSS 和 JS
可以通过这些类名来实现特定的需求。
mw.config.get("wgCanonicalNamespace")
mw.config.get("wgCaseSensitiveNamespaces")
mw.config.get("wgContentNamespaces")
mw.config.get("wgExtraSignatureNamespaces")
mw.config.get("wgFormattedNamespaces")
mw.config.get("wgNamespaceIds")
mw.config.get("wgNamespaceNumber")
通过 API 可以获取当前 wiki 的所有命名空间及其属性,在 API 沙盒中查看: MediaWiki wiki 的命名空间