模块:Pagetype/doc
这是Module:Pagetype的文档页面
本模块用于检测指定页面之类型,其能自动检测重定向页面,且可高度自定义。本模块可独立使用,亦可作为元模块用于创建其他页面类型检测模板。使用{{pagetype}}亦可访问本模块。
语法
- 基本代码
{{#invoke:pagetype|main}}
- 完整代码
{{#invoke:pagetype|main | page = | defaultns = | main = | user = | wikipedia = | project = | wp = | file = | image = | mediawiki = | template = | help = | category = | portal = | book = | draft = | education program = | timedtext = | module = | topic = | special = | media = | talk = | redirect = | dab = | na = | other = }}
基本用法
如需对当前页面类型作简单检测,使用默认设置:
{{#invoke:pagetype|main}}
如此即可根据页面类型或名字空间生成下列结果:
页面类型 / 名字空间 | 输出 |
---|---|
重定向(任意名字空间) | 重定向 |
主名字空间 | 条目 |
文件名字空间 | 文件 |
模板名字空间 | 模板 |
分类名字空间 | 分类 |
模块名字空间 | 模块 |
图书名字空间 | 图书 |
其他名字空间 | 页面 |
(注:部分名字空间尚未在中文维基百科启用。)
若本模块用于讨论页,则会检测对应主页面类型。
- 范例
代码 | 结果 |
---|---|
{{#invoke:pagetype|main}} |
模块 |
页面参数
您可使用page
参数模拟模块调用该页面。
{{#invoke:pagetype|main|page=page name}}
- 范例
代码 | 结果 |
---|---|
{{#invoke:pagetype|main|page=英国}} |
条目 |
{{#invoke:pagetype|main|page=UK}} |
条目 |
{{#invoke:pagetype|main|page=Talk:英国}} |
条目 |
{{#invoke:pagetype|main|page=File:Example.svg}} |
文件 |
{{#invoke:pagetype|main|page=Wikipedia:Namespace}} |
Module:Pagetype第182行Lua错误:attempt to concatenate field 'subjectNsText' (a nil value) |
{{#invoke:pagetype|main|page=TimedText:Imagine.ogg.en.srt}} |
条目 |
增减名字空间
可为各名字空间指定与基本用法一节不同的行为。例如,您可能希望模块在用户名字空间显示“用户页”而非默认的“页面”,为此您可以使用代码|user=yes
。这样便可为用户名字空间页面查找典型名称,即本例中的“用户页”,并在模块使用在用户名字空间的页面时使用该文本。用于其他名字空间时,请使用小写字母的名字空间名作为参数。
{{#invoke:pagetype|main | user = yes | wikipedia = yes | project = yes | wp = yes | mediawiki = yes | help = yes | portal = yes | draft = yes | education program = yes | timedtext = yes | topic = yes | special = yes | media = yes }}
您可使用下列代码中的任一形式指定名字空间:"yes
"、"y
"、"true
"或"1
",任意大小写字母组合形式均可使用(这些值由模块:Yesno定义)。
此类名字空间的默认文本如下所示:
页面类型 / 名字空间 | 输出 |
---|---|
User | 用户页 |
Wikipedia | 维基百科 |
MediaWiki | MediaWiki |
Help | 帮助 |
Portal | 主题 |
Draft | 草稿 |
Education | 教育课程 |
Timed Text | 限时文件 |
Topic | 公告 |
Special | 特殊页面 |
Media | 文件 |
(注:部分名字空间尚未在中文维基百科启用。)
您亦可使用相似的方式移除默认任意名字空间值。例如,若使用代码|template=no
,则模块使用于模板页时会显示“页面”,而非默认的“模板”。
{{#invoke:pagetype|main | main = no | file = no | template = no | category = no | module = no | book = no }}
下列值均可用于移除名字空间值:"no
"、"n
"、"false
"或"0
",任意大小写字母组合形式均可使用。
- 范例
代码 | 结果 |
---|---|
{{#invoke:pagetype|main|page=Wikipedia:Namespace}} |
Module:Pagetype第182行Lua错误:attempt to concatenate field 'subjectNsText' (a nil value) |
{{#invoke:pagetype|main|page=Wikipedia:Namespace|wikipedia=yes}} |
Module:Pagetype第182行Lua错误:attempt to concatenate field 'subjectNsText' (a nil value) |
{{#invoke:pagetype|main|page=Talk:英国}} |
条目 |
{{#invoke:pagetype|main|page=Talk:英国|talk=y}} |
讨论页 |
{{#invoke:pagetype|main|page=英国}} |
条目 |
{{#invoke:pagetype|main|page=英国|main=no}} |
页面 |
{{#invoke:pagetype|main|page=TimedText:Imagine.ogg.en.srt}} |
条目 |
{{#invoke:pagetype|main|page=TimedText:Imagine.ogg.en.srt|timedtext=Yes}} |
条目 |
默认名字空间设置
除了添加或移除某个名字空间,亦可使用|defaultns=
指定不同的名字空间集。共有四组集可供使用:all
、extended
、none
和默认集。这些集允许您一次性指定多个名字空间,而无须一一使用所有名字空间参数。名字空间可按下表设置:
名字空间 | |defaultns= 值
|
输出 | |||
---|---|---|---|---|---|
none
|
extended
|
all
|
其他值 | ||
主名字空间 | 条目 | ||||
User | 用户页 | ||||
Wikipedia | 维基百科 | ||||
File | 文件 | ||||
MediaWiki | MediaWiki | ||||
Template | 模板 | ||||
Help | 帮助 | ||||
Category | 分类 | ||||
Portal | 主题 | ||||
Book | 图书 | ||||
Draft | 草稿 | ||||
Education Program | 教育项目 | ||||
TimedText | 限时文字 | ||||
模块 | 模块 | ||||
Topic (Flow boards) | 公告 | ||||
所有讨论名字空间 | 讨论页 | ||||
Special | 特殊页面 | ||||
Media | 文件 |
(注:部分名字空间尚未在中文维基百科启用。)
- 范例
代码 | 结果 |
---|---|
{{#invoke:pagetype|main|page=英国}} |
条目 |
{{#invoke:pagetype|main|page=英国|defaultns=none}} |
页面 |
{{#invoke:pagetype|main|page=Talk:英国}} |
条目 |
{{#invoke:pagetype|main|page=Talk:英国|defaultns=all}} |
讨论页 |
{{#invoke:pagetype|main|page=File:Example.svg}} |
文件 |
{{#invoke:pagetype|main|page=File:Example.svg|defaultns=none}} |
页面 |
{{#invoke:pagetype|main|page=Wikipedia:Namespace}} |
Module:Pagetype第182行Lua错误:attempt to concatenate field 'subjectNsText' (a nil value) |
{{#invoke:pagetype|main|page=Wikipedia:Namespace|defaultns=extended}} |
Module:Pagetype第182行Lua错误:attempt to concatenate field 'subjectNsText' (a nil value) |
{{#invoke:pagetype|main|page=TimedText:Imagine.ogg.en.srt|defaultns=extended}} |
条目 |
{{#invoke:pagetype|main|page=TimedText:Imagine.ogg.en.srt|defaultns=all}} |
条目 |
自定义名字空间值
可以为任意名字空间指定自定义值:
{{#invoke:pagetype|main | main = 文字 | user = 文字 | wikipedia = 文字 | project = 文字 | wp = 文字 | file = 文字 | image = 文字 | mediawiki = 文字 | template = 文字 | help = 文字 | category = 文字 | portal = 文字 | book = 文字 | draft = 文字 | education program = 文字 | timedtext = 文字 | module = 文字 | topic = 文字 | special = 文字 | media = 文字 }}
- 范例
代码 | 结果 |
---|---|
{{#invoke:pagetype|main|page=Wikipedia:Namespace}} |
Module:Pagetype第182行Lua错误:attempt to concatenate field 'subjectNsText' (a nil value) |
{{#invoke:pagetype|main|page=Wikipedia:Namespace|wikipedia=文字}} |
Module:Pagetype第182行Lua错误:attempt to concatenate field 'subjectNsText' (a nil value) |
{{#invoke:pagetype|main|page=Talk:英国}} |
条目 |
{{#invoke:pagetype|main|page=Talk:英国|talk=文字}} |
文字 |
{{#invoke:pagetype|main|page=英国}} |
条目 |
{{#invoke:pagetype|main|page=英国|main=文字}} |
文字 |
{{#invoke:pagetype|main|page=TimedText:Imagine.ogg.en.srt}} |
条目 |
{{#invoke:pagetype|main|page=TimedText:Imagine.ogg.en.srt|timedtext=文字}} |
条目 |
讨论参数
一般而言,本模块会将讨论页视作对应主页面。然而,如果设有talk
参数,模块则会把讨论页与主页面区别对待。talk
参数会为所有讨论页设置值,即Talk:名字空间的页面、User talk:名字空间的页面、Wikipedia talk:名字空间的页面等等。
{{#invoke:pagetype|main|talk=yes}}
{{#invoke:pagetype|main|talk=文字}}
"talk=yes
"的默认值为"讨论页"。
- 范例
代码 | 结果 |
---|---|
{{#invoke:pagetype|main|page=Wikipedia talk:Namespace}} |
条目 |
{{#invoke:pagetype|main|page=Wikipedia talk:Namespace|wikipedia=yes}} |
条目 |
{{#invoke:pagetype|main|page=Wikipedia talk:Namespace|talk=yes}} |
条目 |
{{#invoke:pagetype|main|page=Wikipedia talk:Namespace|wikipedia=yes|talk=yes}} |
条目 |
{{#invoke:pagetype|main|page=Wikipedia talk:Namespace|talk=文字}} |
条目 |
{{#invoke:pagetype|main|page=Wikipedia talk:Namespace|wikipedia=yes|talk=文字}} |
条目 |
主名字空间评级
对于主名字空间的页面,可在第一位置参数处添加一个评级值。
{{#invoke:pagetype|main|class}}
如果该评级值与下表的某一值相匹配,即可生成与默认"条目"不同的输出。
评级 | 评级值 | 输出 |
---|---|---|
消歧义级 | disambiguation 、disambig 、disamb 、dab |
页面 |
不适用级 | na 、n/a |
页面 |
任意大小写字母组合形式均可使用。
自定义主名字空间评级
亦可为主名字空间评级指定自定义值。
{{#invoke:pagetype|main|class|dab=yes|na=yes}}
{{#invoke:pagetype|main|class|dab=文字|na=文字}}
与自定义名字空间页面类型的方式相同,可能的参数有:
- dab:消歧义级页面的自定义值,若设为"
yes
"、"y
"、"true
"或"1
",则生成"消歧义页"。若设为"no
"、"n
"、"false
"或"0
",则不生成自定义值。若设为其他任何值,则生成该文本。 - na:不适用级页面的自定义值,与
dab
参数的运作方式相同。默认值为"yes
",即"页面"。
- 范例
代码 | 结果 |
---|---|
{{#invoke:pagetype|main|page=英国}} |
条目 |
{{#invoke:pagetype|main|page=英国|dab}} |
页面 |
{{#invoke:pagetype|main|page=英国|dab|dab=文字}} |
文字 |
{{#invoke:pagetype|main|page=英国|na}} |
页面 |
{{#invoke:pagetype|main|page=英国|na|na=文字}} |
文字 |
重定向
本模块默认检测所有名字空间的重定向。无法按名字空间指定重定向行为,但您可以关闭重定向检测,或对重定向页使用自定义值。
{{#invoke:pagetype|main|redirect=no}}
{{#invoke:pagetype|main|redirect=文字}}
- 范例
代码 | 结果 |
---|---|
{{#invoke:pagetype|main|page=UK}} |
条目 |
{{#invoke:pagetype|main|page=UK|redirect=no}} |
条目 |
{{#invoke:pagetype|main|page=UK|redirect=文字}} |
条目 |
其他名字空间
若某名字空间未受指定,本模块默认生成"页面
",该值可通过|other=
参数更改。
{{#invoke:pagetype|main|other=文字}}
- 范例
代码 | 结果 |
---|---|
{{#invoke:pagetype|main|page=Wikipedia:Namespace}} |
Module:Pagetype第182行Lua错误:attempt to concatenate field 'subjectNsText' (a nil value) |
{{#invoke:pagetype|main|page=Wikipedia:Namespace|other=文字}} |
Module:Pagetype第182行Lua错误:attempt to concatenate field 'subjectNsText' (a nil value) |
{{#invoke:pagetype|main|page=Wikipedia:Namespace|other=文字|wikipedia=维基文字}} |
Module:Pagetype第182行Lua错误:attempt to concatenate field 'subjectNsText' (a nil value) |