Module: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,应该是数字而不是用字符串)。