模組:Page name/doc
外觀
此頁面為 Module:Page name 的說明文件
本模塊用於生成一個對某個頁面(或當前頁面)的一個描述性的詞語。比如,在模板頁面(如Template:Fullurl)返回「模板」,在用戶頁面(如User:Example)返回「用戶」。此外,對於模板和模塊文檔,還會返回「模板文檔」或「模塊文檔」。
用法
[編輯原始碼]指定頁面
[編輯原始碼]你可以使用參數title指定一個頁面的標題,如果不指定標題,將會默認為當前頁面標題。例如:
{{#invoke: page name|main}}返回:模組文件{{#invoke: page name|main|title=Template:Tlx}}返回:模板{{#invoke: page name|main|title=火山}}返回:條目{{#invoke: page name|main|title=特殊:展开模板}}返回:特殊頁面{{#invoke: page name|main|title=user talk:MediaWiki default}}返回:使用者討論頁
指定命名空間
[編輯原始碼]你可以使用參數namespace指定顯示特定命名空間的頁面名稱。命名空間可以根據其名稱、別稱或id來指定。這種情況下,不會檢測/doc。例如:
{{#invoke: page name|main|namespace=114514}}返回:頁面{{#invoke: page name|main|namespace=Template}}返回:模板{{#invoke: page name|main|namespace=828}}返回:模組
指定繁簡轉換
[編輯原始碼]一般地,模塊會返回簡體中文,並通過繁簡轉換系統轉換為你當前看到的語言變種(如果需要轉換的話)。但是某些消息頁面,不支持繁簡轉換,需要手動轉換為簡體或繁體,可以設置參數variant=-1以強制顯示簡體,variant=1以強制顯示繁體,variant=2以強制顯示台灣繁體,這在消息頁面中會比較實用。
| 代碼 | 結果(未轉換) | 結果(已轉換) |
|---|---|---|
{{#invoke: page name|main}}
|
-{zh-hans:模块;zh-hant:模組}--{zh-hans:文档;zh-hant:文件}- | 模組文件 |
{{#invoke: page name|main|variant=1}}
|
模組文件 | 模組文件 |
{{#invoke: page name|main|variant=-1}}
|
模块文档 | 模塊文檔 |
{{#invoke: page name|main|title=Template:Tl/doc}}
|
模板-{zh-hans:文档;zh-hant:文件}- | 模板文件 |
{{#invoke: page name|main|title=Template:Tl/doc|variant=1}}
|
模板文件 | 模板文件 |
{{#invoke: page name|main|title=Template:Tl/doc|variant=-1}}
|
模板文档 | 模板文檔 |
{{#invoke: page name|main|title=User talk:Example}}
|
-{zh-hans:用户;zh-hant:用戶;zh-tw:使用者}-讨论页 | 使用者討論頁 |
{{#invoke: page name|main|title=User talk:Example|variant=1}}
|
用戶討論頁 | 用戶討論頁 |
{{#invoke: page name|main|title=User talk:Example|variant=-1}}
|
用户讨论页 | 用戶討論頁 |
不檢查文檔
[編輯原始碼]如果需要表述到模板或者模塊本身,而不需要檢查頁面是否為文檔,可以添加一個doc=false,例如:
| 代碼 | 效果 |
|---|---|
模板链接:{{#invoke:page name|main|title=Template:Tl/doc}}
|
模板文件 |
模板链接:{{#invoke:page name|main|doc=true|title=Template:Tl/doc}}
|
模板文件 |
模板链接:{{#invoke:page name|main|doc=false|title=Template:Tl/doc}}
|
模板 |
函數用法
[編輯原始碼]如需在Lua模塊中使用此功能,應該使用類似於如下語法:
local pageName = require'Module:Page name'.pageName
local page
-- 如果需要获取当前页面的表述
page = pageName()
-- 如需获取特定页面(以User talk:Example为例)的表述
page = pageName(mw.title.new'User talk:Example')
-- 如需获取特定语言变种(以简体中文为例)的表述
page = pageName(nil, -1)
-- 如需获取特定页面(以Template:消息框/doc为例)的特定语言变种(以繁体中文为例)的表述
page = pageName(mw.title.new'Template:消息框/doc', 1)
從上面的示例可以看出,兩個參數都是可以省略的,第一個參數表示頁面標題對象(默認為當前頁面標題對象),第二個參數為語言變種(默認為0,即不指定)。
此外,如果只需要獲取指定命名空間的頁面名稱,可以直接使用
local namespacePageName = require 'Module:Page name'.namespacePageName
該參數的第一個參數為命名空間的名稱或者id(若為id,應該是數字而不是用字符串)。