这是Module:Namespace detect的文档页面
本模块用于根据指定页面所在的命名空间输出不同内容,是{{Namespace detect}}的Lua实现版本,自动支持所有命名空间名称及其别名。
{{#invoke: Namespace detect | main
| demopage = <!-- 要检测的页面(不填则用当前页面) -->
<!-- 命名空间返回值 -->
| main =
| talk =
| user =
| user_talk =
| 萌娘百科 =
| 萌娘百科_talk =
| file =
| file_talk =
| mediawiki =
| mediawiki_talk =
| template =
| template_talk =
| help =
| help_talk =
| category =
| category_talk =
| widget =
| widget_talk =
| timedtext =
| timedtext_talk =
| module =
| module_talk =
| other = <!-- 其他未指定命名空间 -->
| demospace = <!-- 强制按某命名空间检测(可填ID/名称/别名) -->
| subjectns = <!-- 讨论页按对应内容页命名空间处理(非空即开启) -->
| istalk = <!-- 讨论页保持该讨论命名空间(非空即开启) -->
}}
该模块会根据当前页面或指定的页面,判断所属命名空间,并返回与该命名空间匹配的参数值。
默认情况下,讨论页会归到条目讨论命名空间(即 talk 参数))
subjectns 和 istalk 都是开关参数,通常写成任意非空值即可。demospace 会覆盖实际页面命名空间判断。demopage 无法解析为有效标题,模块会返回 other(若未设置则返回空字符串)。| 参数 | 说明 | 备注 |
|---|---|---|
demopage
|
指定用于判断的页面标题 | 优先于当前页面 |
demospace
|
直接指定要视作的命名空间 | 可填写命名空间ID/名称/别名;优先级高于 demopage 的实际命名空间。
|
subjectns
|
布尔开关 | 若非空,就将讨论页按对应的页面命名空间处理 |
istalk
|
布尔开关 | 若非空,就在讨论页上保持当前命名空间 |
other
|
未命中任何命名空间时的备选值 | 没有匹配参数时使用 |
以及命名空间参数。
main、条目、條目与主模块会按命名空间的规范名称、本地化名称和别名匹配参数名。 参数名在进行比较前会做如下规范化:
_ 转为空格因此,像 user_talk、User talk、USER TALK 这类参数名都可以匹配同一个命名空间。
当页面本身属于讨论页时,处理顺序如下:
subjectns 非空,优先按对应页面命名空间处理。istalk 非空,保持当前命名空间。ns=1。这意味着:
User talk、Template talk 等页面,默认会落到 talk 的结果。istalk。subjectns。{{#invoke:Namespace detect|main
| demopage = <!-- 要检测的页面(不填则用当前页面) -->
| demospace = <!-- 强制按某命名空间检测(可填ID/名称/别名) -->
| subjectns = 1
| istalk = 1
| main = 主命名空间返回值
| T = 模板命名空间返回值
| 模块 = 模块命名空间返回值
| 說明 = 帮助命名空间返回值
| talk = 讨论命名空间返回值
| user_talk = User talk 命名空间返回值
…
| other = 其他命名空间返回值
}}
效果:
模块命名空间返回值