模組: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}} |
zh-cn:模块; zh-tw:模組; |
頁面參數
您可使用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}} |
zh-cn:文件; zh-tw:檔案; |
{{#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 | zh-cn:文件; zh-tw:檔案; | ||||
| MediaWiki | MediaWiki | ||||
| Template | 模板 | ||||
| Help | 幫助 | ||||
| Category | 分類 | ||||
| Portal | 主題 | ||||
| Book | 圖書 | ||||
| Draft | 草稿 | ||||
| Education Program | 教育項目 | ||||
| TimedText | 限時文字 | ||||
| 模块 | 模塊 | ||||
| Topic (Flow boards) | 公告 | ||||
| 所有討論名字空間 | 討論頁 | ||||
| Special | 特殊頁面 | ||||
| Media | zh-cn:文件; zh-tw:檔案; | ||||
(註:部分名字空間尚未在中文維基百科啟用。)
- 範例
| 代碼 | 結果 |
|---|---|
{{#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}} |
zh-cn:文件; zh-tw:檔案; |
{{#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) |