子页面将层次化的组织引入到wiki页面中,不同的层次结构以斜线(/
)分隔开。
默认情况下,MediaWiki的子页面特性在主命名空间是被关闭的,但可以使用talk pages和user pages。
参见Help:命名空间 中对命名空间的描述,$wgNamespacesWithSubpages了解如何修改此默认行为。
在此功能关闭的命名空间中,页面名称中的任何正斜杠(/
)只是页面名称的一部分,不做任何特殊操作。
当在某个名字空间中启用子页面时,页面标题中的正斜杠会使此页面成为一个子页面。如果这不是预期行为,您可以使用替代字符绕过该设置。
页面名称中的斜杠(/)递归地将页面分为父页面和子页面,例如:
通过提供全名,包括斜杠和单个子页面名称,您可以使用常规的“双方括号”符号直接链接到任何页面的子页面。 您还可以使用某些快捷方式从一个页面链接到其中一个自己的子页面,这些快捷方式在Help:链接中介绍。
有魔术字可以拆分子页面的名称,如{{BASEPAGENAME}}
和{{SUBPAGENAME}}
,解析器函数{{#titleparts:}}
可以更好地进行控制。
请注意,斜杠后的页面名称部分区分大小写,包括第一个字母。
面包屑链接将自动出现在子页面的顶部,链接到存在的每个父页面。但是,如果父页面尚未创建或子页面功能已关闭,则不会显示这些链接。
由于这些自动导航链接不在页面内容中,因此导航不会将父页面置于这里有什么联系和相关变化列表中。
如果您移动父页面,您将看到一个子页面列表,并且具有用户权限的用户可以选择自动移动子页面(最多100个)。
子页面功能有多种用途。 子页面的一些典型用法包括:
子页面对于按层次组织信息很有用。 另一方面,子页面往往有一个很长的名称,很难记住,所以尽可能少使用它们可能会更方便用户。 您还可以使用分类功能来组织页面,该功能更适合创建分层的信息网络。
通过转换Special:PrefixIndex可以非常清楚地列出子页面,如下所示:
{{Special:PrefixIndex/Help:Subpages/}}
这就产生了这样的结果:
因为魔术字{{FULLPAGENAME}}
输出当前页面,所以用于显示当前页面的所有子页面的通用wiki标记是$all-subages。
您可以将参数传递给它,例如{{Special:PrefixIndex/{{FULLPAGENAME}}/ |hideredirects=1 |stripprefix=1}}
扩展:子页面类扩展如Extension:SubPageList 可以允许您定制子页面的显示。
由于在启用子页面时,正斜杠是保留字符的结果,可能需要替代字符。
反斜杠(\
)在子页面命名中被视为普通字符,可以用于代替正斜杠。
此外,作为一种粗略的破解方法,可以使用类似于正斜杠的字符,例如Big Solidus(U+29F8),其结果是Foo⧸BAR(参见。一个真正的斜杠:foo/bar),或者soliDus(U+2044),结果是foo⁄BAR。
这次黑客攻击带来了三个可能的技术缺陷(除了与真正的斜杠的视觉差异):