模組: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=指定不同的名字空間集。共有四組集可供使用:allextendednone和默認集。這些集允許您一次性指定多個名字空間,而無須一一使用所有名字空間參數。名字空間可按下表設置:

名字空間 |defaultns= 輸出
none extended all 其他值
主名字空間 ☒N ✓ ✓ ✓ 條目
User ☒N ✓ ✓ ☒N 用戶頁
Wikipedia ☒N ✓ ✓ ☒N 維基百科
File ☒N ✓ ✓ ✓ 檔案
MediaWiki ☒N ✓ ✓ ☒N MediaWiki
Template ☒N ✓ ✓ ✓ 模板
Help ☒N ✓ ✓ ☒N 幫助
Category ☒N ✓ ✓ ✓ 分類
Portal ☒N ✓ ✓ ☒N 主題
Book ☒N ✓ ✓ ✓ 圖書
Draft ☒N ✓ ✓ ☒N 草稿
Education Program ☒N ☒N ✓ ☒N 教育項目
TimedText ☒N ☒N ✓ ☒N 限時文字
模块 ☒N ✓ ✓ ✓ 模塊
Topic (Flow boards) ☒N ☒N ✓ ☒N 公告
所有討論名字空間 ☒N ☒N ✓ ☒N 討論頁
Special ☒N ☒N ✓ ☒N 特殊頁面
Media ☒N ☒N ✓ ☒N 檔案

(註:部分名字空間尚未在中文維基百科啟用。)

範例
代碼 結果
{{#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}}

如果該評級值與下表的某一值相匹配,即可生成與默認"條目"不同的輸出。

評級 評級值 輸出
消歧義級 disambiguationdisambigdisambdab 頁面
不適用級 nan/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)