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 的命名空间