(创建页面,内容为“ {{操作指南}} {{not|Help:解析器函数}} '''魔术字'''是MediaWiki软件所识别的特定字符串,它们可以返回特定的值或触发其他的功能:比如时间、站点设置或是页面名称等等。此页面只解释标准魔术字的用法。 魔术字有三种常规类型: * '''状态开关''':通常写成以两个下划线为前后缀的大写单词,例如'''<code>__FOO__</code>'''。 * '''#Variables|…”) 标签:加入魔术字 |
(更改“bureaucrat”为“steward”) |
||
(未显示2个用户的7个中间版本) | |||
第110行: | 第110行: | ||
|- |
|- |
||
| colspan="2" | <code><nowiki>__STATICREDIRECT__</nowiki></code> |
| colspan="2" | <code><nowiki>__STATICREDIRECT__</nowiki></code> |
||
| 用于一些重定向页面。当有人移动页面并勾选“ |
| 用于一些重定向页面。当有人移动页面并勾选“更新所有指向原始标题的重定向”时,禁止MediaWiki更新本页的重定向(需要变量<code>$wgFixDoubleRedirects</code>)。 |
||
| |
| |
||
|- |
|- |
||
第245行: | 第245行: | ||
|} |
|} |
||
{{ |
<code><nowiki>{{CURRENTDATE}}</nowiki></code>未必是一个魔术字,但可能是一个[[Help:模板|模板]]。 |
||
如下变量和上列变量功能相同,但是使用的是所在服务器的时间或者<code>$wgLocaltimezone</code>。 |
如下变量和上列变量功能相同,但是使用的是所在服务器的时间或者<code>$wgLocaltimezone</code>。 |
||
第264行: | 第264行: | ||
* <code><nowiki>{{LOCALTIMESTAMP}}</nowiki></code> |
* <code><nowiki>{{LOCALTIMESTAMP}}</nowiki></code> |
||
'''如果需要更详尽的时间格式,或是在輸出目前年份和星期時更好的遵守[[ISO 8601|ISO-8601]],您可以使用<code><nowiki>#</nowiki>time}}</code>解析器函数。''' |
'''如果需要更详尽的时间格式,或是在輸出目前年份和星期時更好的遵守[[qwbk:ISO 8601|ISO-8601]],您可以使用<code><nowiki>#</nowiki>time}}</code>解析器函数。''' |
||
<span id="Technical_metadata"></span> |
<span id="Technical_metadata"></span> |
||
第440行: | 第440行: | ||
这些变量返回的数字往往包含分隔符(根据本地语言参数设置而可能是逗号或空格)。可以通过“:R”来返回无分隔号的数字(例如<code><nowiki>{{NUMBEROFPAGES}}</nowiki></code> → {{NUMBEROFPAGES}}和<code><nowiki>{{NUMBEROFPAGES:R}}</nowiki></code> → {{NUMBEROFPAGES:R}})。 |
这些变量返回的数字往往包含分隔符(根据本地语言参数设置而可能是逗号或空格)。可以通过“:R”来返回无分隔号的数字(例如<code><nowiki>{{NUMBEROFPAGES}}</nowiki></code> → {{NUMBEROFPAGES}}和<code><nowiki>{{NUMBEROFPAGES:R}}</nowiki></code> → {{NUMBEROFPAGES:R}})。 |
||
对于PAGESINCATEGORY等需要参数的变量则使用“|R”(例如<code><nowiki>{{PAGESINCategory: |
对于PAGESINCATEGORY等需要参数的变量则使用“|R”(例如<code><nowiki>{{PAGESINCategory:有兽档案馆分类}}</nowiki></code>和<code><nowiki>{{PAGESINCategory:有兽档案馆分类|R}}</nowiki></code>及<code><nowiki>{{PAGESINCategory:有兽档案馆分类|subcats}}</nowiki></code>和<code><nowiki>{{PAGESINCategory:有兽档案馆分类|subcats|R}}</nowiki></code>)。 |
||
也适用于上述{{tmpl|0=<code>{{((}}PAGESIZE:$1{{))}}</code>|'''页面名称'''}}。 |
也适用于上述{{tmpl|0=<code>{{((}}PAGESIZE:$1{{))}}</code>|'''页面名称'''}}。 |
||
第502行: | 第502行: | ||
|- style="background:#FED;" |
|- style="background:#FED;" |
||
| <code><nowiki>{{PAGESINCATEGORY:</nowiki>'''分类名称'''<nowiki>}}</nowiki></code> <br><code><nowiki>{{PAGESINCAT:</nowiki>'''分类名称'''<nowiki>}}</nowiki></code> |
| <code><nowiki>{{PAGESINCATEGORY:</nowiki>'''分类名称'''<nowiki>}}</nowiki></code> <br><code><nowiki>{{PAGESINCAT:</nowiki>'''分类名称'''<nowiki>}}</nowiki></code> |
||
| {{PAGESINCategory: |
| {{PAGESINCategory:有兽档案馆分类}} <br>{{PAGESINCAT:Help}} |
||
| '''[高开销]''' 指定[[Help:分类|分类]]中的页面总数(包括子类和文件)。<small>([[:Category: |
| '''[高开销]''' 指定[[Help:分类|分类]]中的页面总数(包括子类和文件)。<small>([[:Category:有兽档案馆分类]] 在此用于演示)</small> |
||
| |
| |
||
|- style="background:#FED;" |
|- style="background:#FED;" |
||
| <code><nowiki>{{PAGESINCATEGORY:</nowiki>'''分类名称'''<nowiki>|all}}</nowiki></code> <br><code><nowiki>{{PAGESINCATEGORY:</nowiki>'''分类名称'''<nowiki>|pages}}</nowiki></code> <br><code><nowiki>{{PAGESINCATEGORY:</nowiki>'''分类名称'''<nowiki>|subcats}}</nowiki></code> <br><code><nowiki>{{PAGESINCATEGORY:</nowiki>'''分类名称'''<nowiki>|files}}</nowiki></code> |
| <code><nowiki>{{PAGESINCATEGORY:</nowiki>'''分类名称'''<nowiki>|all}}</nowiki></code> <br><code><nowiki>{{PAGESINCATEGORY:</nowiki>'''分类名称'''<nowiki>|pages}}</nowiki></code> <br><code><nowiki>{{PAGESINCATEGORY:</nowiki>'''分类名称'''<nowiki>|subcats}}</nowiki></code> <br><code><nowiki>{{PAGESINCATEGORY:</nowiki>'''分类名称'''<nowiki>|files}}</nowiki></code> |
||
| {{PAGESINCategory: |
| {{PAGESINCategory:有兽档案馆分类|all}} <br>{{PAGESINCategory:有兽档案馆分类|pages}} <br>{{PAGESINCategory:有兽档案馆分类|subcats}} <br>{{PAGESINCategory:有兽档案馆分类|files}} |
||
| '''[高开销]''' 返回指定[[Help:分类|分类]]的: |
| '''[高开销]''' 返回指定[[Help:分类|分类]]的: |
||
*所有页面数 |
*所有页面数 |
||
第513行: | 第513行: | ||
*所有子分类页数 |
*所有子分类页数 |
||
*所有文件页数 |
*所有文件页数 |
||
<small>([[:Category: |
<small>([[:Category:有兽档案馆分类]] 在此用于演示)</small> |
||
| |
| |
||
{{Table-AnchorRow|NUMBERINGROUP|NUMINGROUP}} |
{{Table-AnchorRow|NUMBERINGROUP|NUMINGROUP}} |
||
|- |
|- |
||
| <code><nowiki>{{NUMBERINGROUP:</nowiki>'''用户组'''<nowiki>}}</nowiki></code> <br><code><nowiki>{{NUMINGROUP:</nowiki>'''用户组'''<nowiki>}}</nowiki></code> |
| <code><nowiki>{{NUMBERINGROUP:</nowiki>'''用户组'''<nowiki>}}</nowiki></code> <br><code><nowiki>{{NUMINGROUP:</nowiki>'''用户组'''<nowiki>}}</nowiki></code> |
||
| {{NUMBERINGROUP: |
| {{NUMBERINGROUP:steward}} <br>{{NUMINGROUP:steward}} |
||
| 特定用户组中的用户总数 <small>( |
| 特定用户组中的用户总数 <small>(steward用于演示)</small> |
||
| |
| |
||
{{Table-AnchorRow|PAGESINNS|PAGESINNAMESPACE}} |
{{Table-AnchorRow|PAGESINNS|PAGESINNAMESPACE}} |
||
第531行: | 第531行: | ||
{{Anchor|Page-names}} |
{{Anchor|Page-names}} |
||
<span id="Page_names"></span> |
<span id="Page_names"></span> |
||
=== 页面名称 === |
=== 页面名称 === |
||
第695行: | 第696行: | ||
<span id="Parser_functions"></span> |
<span id="Parser_functions"></span> |
||
== 解析器函数 == |
== 解析器函数 == |
||
第845行: | 第847行: | ||
<span id="Namespaces"></span> |
<span id="Namespaces"></span> |
||
=== 命名空间 === |
=== 命名空间 === |
||
<span class="mw-translate-fuzzy"><code><nowiki>{{ns:}}</nowiki></code>使用该索引,规范名称或本地别名返回[[Help: |
<span class="mw-translate-fuzzy"><code><nowiki>{{ns:}}</nowiki></code>使用该索引,规范名称或本地别名返回[[Help:命名空间|名字空间]]的当前本地化名称。因此<code><nowiki>{{ns:6}}</nowiki></code>,<code><nowiki>{{ns:file}}</nowiki></code>和<code><nowiki>{{ns:image}}</nowiki></code>(File名称空间的旧名称)都返回{{ns:6}}。 |
||
<code><nowiki>{{nse:}}</nowiki></code>是MediaWiki URL的等效编码。它也是这样,但它用下划线替换空格,使其可用于外部链接。 |
<code><nowiki>{{nse:}}</nowiki></code>是MediaWiki URL的等效编码。它也是这样,但它用下划线替换空格,使其可用于外部链接。 |
2024年3月1日 (五) 14:23的最新版本
![](/images/thumb/9/9b/%E7%9A%AE%E7%9A%AE%E6%B3%A8%E6%84%8F%E7%89%8C%EF%BC%88%E8%93%9D%EF%BC%89.svg/50px-%E7%9A%AE%E7%9A%AE%E6%B3%A8%E6%84%8F%E7%89%8C%EF%BC%88%E8%93%9D%EF%BC%89.svg.png)
本页不属于有兽档案馆的条例或规则;若本页内容与相关条例不一致的,以条例内容为准。
魔术字是MediaWiki软件所识别的特定字符串,它们可以返回特定的值或触发其他的功能:比如时间、站点设置或是页面名称等等。此页面只解释标准魔术字的用法。
魔术字有三种常规类型:
- 状态开关:通常写成以两个下划线为前后缀的大写单词,例如
__FOO__
。 - 变量:字符被两个大括号括起来,所有字母大写,例如
{{FOO}}
。用法与模板类似。 - 解析器函数:可以创造参数,既可以是格式
{{foo:...}}
,也可以是{{#foo:...}}
。参见Help:解析器函数和Lua。
变量和解析器函数可以像模板一样使用subst:。无论这个魔术字是通过被引用的模板添加的或者被包含的系统消息中添加的,依赖页面的魔术字均将(默认)起作用或者返回当前页面的数据。
状态开关
状态开关可以控制页面(只要受皮肤支持)的显示方式或其他行为。它往往用于排除或加入特定的页面内容。
文字 | 描述 | 版本 | ||
---|---|---|---|---|
目录 | ||||
__NOTOC__
|
隐藏目录(TOC)。 | |||
__FORCETOC__
|
强制于默认位置(第一个章节标题上方,忽略__NOTOC__ 的设置)显示目录。 此魔术字对于在文章内容外展示目录的皮肤不起作用。
|
|||
__TOC__
|
在魔术字的位置插入目录(忽略__NOTOC__ 的设置)。 多次使用时,目录会出现在文章中第一次出现该魔术字的位置。 此魔术字对于在文章内容外展示目录的皮肤不起作用。
|
|||
编辑 | ||||
__NOEDITSECTION__
|
隐藏章节标题旁的编辑链接。这个特别有用,当章节标题在模板中被创建时,普通的编辑链接将会把用户带到编辑模板代码界面,这与用户的直觉不符。 在模板中使用它将扩充对模板嵌入页面的影响,以及任何包含在同一页面的其他模板。 | |||
__NEWSECTIONLINK__
|
在非讨论页顶端“编辑”标签右侧加入一个按钮,用于在页面结尾加入新的章节。 | |||
__NONEWSECTIONLINK__
|
移除讨论页顶端“编辑”右侧的加入新章节链接。 | |||
分类 | ||||
__NOGALLERY__
|
用于分类页面。不显示分类中所包含文件的缩略图,而以普通链接代替。 | |||
__HIDDENCAT__
|
用于分类页面。加入后此分类成为隐藏分类,将不会显示在上级分类其及成员页面的分类列表中(可以通过参数设置中的选项强制显示)。 | |||
__EXPECTUNUSEDCATEGORY__
|
在分类页面上使用,从Special:UnusedCategories中删除分类。 | |||
语言转换 | ||||
__NOCONTENTCONVERT__ __NOCC__
|
在语言有不同变体时(如中文简体和繁体),不对当前页面进行字词转换。比如只显示中文,而不是显示大陆简体、台湾繁体、新加坡简体和香港繁体。 | |||
__NOTITLECONVERT__ __NOTC__
|
在语言有不同变体时(如中文简体和繁体),不对当前页面进行标题转换(其他内容照常转换)。 | |||
其他 | ||||
__START__
|
无影响。 曾用于指向不应被嵌入的注释之后开始的数据库消息。 | |||
__END__
|
明确标记条目的结尾,来防止MediaWiki移除文末的空格。 | |||
__INDEX__
|
允许搜索引擎检索本页(忽略$wgArticleRobotPolicies 的参数设置但并无法忽略robots.txt)。服从$wgExemptFromUserRobotsControl 的设定。
|
|||
__NOINDEX__
|
禁止搜索引擎检索本页(比如不可在搜索引擎列出指定页面)。服从$wgExemptFromUserRobotsControl 的设定。
|
|||
__STATICREDIRECT__
|
用于一些重定向页面。当有人移动页面并勾选“更新所有指向原始标题的重定向”时,禁止MediaWiki更新本页的重定向(需要变量$wgFixDoubleRedirects )。
|
|||
来自扩展 | ||||
扩展 | 文字 | 描述 | 版本 | |
Disambiguator | __DISAMBIG__
|
标记消歧义页面。 |
变量
变量可以返回关于当前页面、wiki站点或日期的信息。变量的语法与模板类似。其中标记为“[高开销]”的变量会被软件记录,且在一个页面中可使用的总数会被限制。
如果某一模板名与变量名重复,软件会自动将其解释为变量(因此若要包含Template:PAGENAME,页面中需要写作 {{Template:PAGENAME}}
部分情况下,添加参数会迫使解析器调用模板;例如,写{{CURRENTDAYNAME|x}}
会导致调用Template:CURRENTDAYNAME,而不是所期望的魔术字。
日期和时间
以下的变量返回当前的日期和UTC时间。
在MediaWiki与浏览器缓存的影响下,这些变量显示的往往是被缓存的值,而非当前的时间。
使用这些变量会使页面被缓存的时间变得更短,这可以通过 MagicWordFactory 设置。
日期和时间魔术字被格式化为相应的语种,取决于页面内容语言。
变量 | 输出 | 描述 | 版本 |
---|---|---|---|
年 | |||
{{CURRENTYEAR}}
|
2024 | 年 | |
月 | |||
{{CURRENTMONTH}}
|
07 | 月(补足前导的0) | |
{{CURRENTMONTH1}}
|
7 | 月(无前导的0) | |
{{CURRENTMONTHNAME}}
|
7月 | 月份名称 | |
{{CURRENTMONTHNAMEGEN}}
|
7月 | 月份(属格) | |
{{CURRENTMONTHABBREV}}
|
7月 | 月份(缩写) | |
日 | |||
{{CURRENTDAY}}
|
2 | 今天是几日(不补齐) | |
{{CURRENTDAY2}}
|
02 | 今天是几日(以0补齐) | |
{{CURRENTDOW}}
|
2 | 周内一日(无填充),0(即星期日)到6(即星期六) | |
{{CURRENTDAYNAME}}
|
星期二 | 周内一日(名称) | |
时间 | |||
{{CURRENTTIME}}
|
23:49 | 时间(24小时制HH:mm的格式) | |
{{CURRENTHOUR}}
|
23 | 时间(24小时制含前導0的数字) | |
其他 | |||
{{CURRENTWEEK}}
|
27 | 第几周(数字) | |
{{CURRENTTIMESTAMP}}
|
20240702234954 | YYYYMMDDHHmmss时间戳 |
{{CURRENTDATE}}
未必是一个魔术字,但可能是一个模板。
如下变量和上列变量功能相同,但是使用的是所在服务器的时间或者$wgLocaltimezone
。
{{LOCALYEAR}}
{{LOCALMONTH}}
{{LOCALMONTH1}}
{{LOCALMONTHNAME}}
{{LOCALMONTHNAMEGEN}}
{{LOCALMONTHABBREV}}
{{LOCALDAY}}
{{LOCALDAY2}}
{{LOCALDOW}}
{{LOCALDAYNAME}}
{{LOCALTIME}}
{{LOCALHOUR}}
{{LOCALWEEK}}
{{LOCALTIMESTAMP}}
如果需要更详尽的时间格式,或是在輸出目前年份和星期時更好的遵守ISO-8601,您可以使用#time}}
解析器函数。
技术元数据
变量 | 输出 | 描述 | 版本 |
---|---|---|---|
站点 | |||
{{SITENAME}}
|
有兽档案馆 | 维基网站的名称($wgSitename )。
|
|
{{SERVER}}
|
https://youshou.wiki | 域名URL($wgServer ).
|
|
{{SERVERNAME}}
|
youshou.wiki | 子域名和域名(自版本1.17后不再取决于$wgServerName )。
|
|
{{DIRMARK}}
|
|
输出这个wiki默认语言所使用的Unicode文本方向控制字符(从左到右书写的语言使用‎ ,反之使用‏ ),这在多方向文本中很有用。它取决于页面语言。
|
|
{{SCRIPTPATH}}
|
脚本相对路径($wgScriptPath )。
|
||
{{STYLEPATH}}
|
/skins | 样式相对路径($wgStylePath )。
|
|
{{CURRENTVERSION}}
|
1.39.8 (0de4dfa) | 此维基站点的MediaWiki版本。 | |
{{CONTENTLANGUAGE}}
|
zh zh |
默认界面语言($wgLanguageCode )。
|
|
页面 | |||
{{PAGEID}}
|
9207 | 返回页面编号。 | |
{{PAGELANGUAGE}} {{#language:{{PAGELANGUAGE}}}}
|
zh 中文 |
返回当前页面的语言。此变量返回的语言代码可使用{{#language:...}} 转换为语言名。
|
|
{{PROTECTIONLEVEL:操作}}
|
输出当前页面对于特定行为(比如edit,move)的保护级别(autoconfirm或sysop等)。若未保护则返回空字符串。 | ||
{{PROTECTIONEXPIRY:动作}}
|
根据给出的动作(如edit、move),返回当前页面的保护信息(例如:时间戳“20160418155030”,或“infinity”) 如果未被保护,则会返回"infinity"。 | ||
{{CASCADINGSOURCES}}
|
[高开销] 返回当前页面上的任意连锁保护操作来源。除非存在自我嵌入,否则页面将不会返回其各自标题。 | ||
最近一次编辑版本号 | |||
{{REVISIONID}}
|
- | 唯一的版本ID。 在預覽中為空,因此能用來顯示僅限於預覽時的錯誤訊息。可能在吝嗇模式($wgMiserMode )中被停用。
|
|
{{REVISIONDAY}}
|
1 | 最近一次编辑的日期(无前导0)。 | |
{{REVISIONDAY2}}
|
01 | 最近一次编辑的日期(前导0) | |
{{REVISIONMONTH}}
|
03 | 最近一次编辑的月份(有前导0)。 | |
{{REVISIONMONTH1}}
|
3 | 最近一次编辑的月份(没有前导0)。 | |
{{REVISIONYEAR}}
|
2024 | 最近一次编辑的年份 | |
{{REVISIONTIMESTAMP}}
|
20240301142313 | 最近一次编辑的时间戳。 | |
{{REVISIONUSER}}
|
550Q-Bot | 最近一个对指定页面作出编辑的用户,或者当前正在对其编辑进行预览的用户。 | |
{{REVISIONSIZE}}
|
62288 | 当前版本页面的大小(维基文本)。 | |
影响页面内容 | |||
{{DISPLAYTITLE:标题}} {{DISPLAYTITLE:标题|noerror}} {{DISPLAYTITLE:标题|noreplace}}
|
设置当前页面标题的显示格式。变量值须与标题等值:只允许对标题的特定部分(不是全部标题)的大小写变化和用下划线替换替换空格(这个设定可以通过$wgRestrictDisplayTitle 改变)。可以通过$wgAllowDisplayTitle 将其启用或禁用;在1.10+前默认禁用,之后的版本中默认启用。
可以使用第二个参数:“noerror”关闭使用多个本魔术字时导致错误消息提示。或“noreplace”如果 |
(以无错误提示、不替换为目的) | |
{{DEFAULTSORT:排序关键字}} {{DEFAULTSORTKEY:排序关键字}} {{DEFAULTCATEGORYSORT:排序关键字}} {{DEFAULTSORT:排序关键字|noerror}} {{DEFAULTSORT:排序关键字|noreplace}}
|
在分类页面上使用,用来设置默认在分类中排序关键字。 例如当你将{{DEFAULTSORT:Smith, John}} 放到页面John Smith的结尾,该页面在分类页面上的列表中将默认排到“S”项下。 可以使用第二个参数:“noerror”关闭使用多个本魔术字时导致错误消息提示。或“noreplace”如果defaultsort 在前文已经设置,则关闭使用多个本魔术字时导致错误消息提示,令defaultsort 失效。
|
(以无错误提示、不替换为目的) |
统计
这些变量返回的数字往往包含分隔符(根据本地语言参数设置而可能是逗号或空格)。可以通过“:R”来返回无分隔号的数字(例如{{NUMBEROFPAGES}}
→ 18,506和{{NUMBEROFPAGES:R}}
→ 18506)。
对于PAGESINCATEGORY等需要参数的变量则使用“|R”(例如{{PAGESINCategory:有兽档案馆分类}}
和{{PAGESINCategory:有兽档案馆分类|R}}
及{{PAGESINCategory:有兽档案馆分类|subcats}}
和{{PAGESINCategory:有兽档案馆分类|subcats|R}}
)。
也适用于上述{{PAGESIZE:页面名称}}
。
返回数字的魔术字数字格式取决于内容语言的设定,取决于页面内容语言。
变量 | 输出 | 描述 | 版本 |
---|---|---|---|
{{NUMBEROFPAGES}}
|
18,506 | 维基页面数量 | |
{{NUMBEROFARTICLES}}
|
617 | 在内容名字空间中,作为条目的页面个数。 | |
{{NUMBEROFFILES}}
|
2,051 | 上传文件的个数。 | |
{{NUMBEROFEDITS}}
|
57,276 | 维基编辑的数量 | |
{{NUMBEROFVIEWS}}
|
页面浏览次数。通常对使用缓存的wiki无效。 | ||
{{NUMBEROFUSERS}}
|
394 | 注册用户数量 | |
{{NUMBEROFADMINS}}
|
4 | 管理员(sysop)组的用户数。 | |
{{NUMBEROFACTIVEUSERS}}
|
23 | 活跃用户总数,其标准与Special:Statistics中的标准相同。 | |
{{PAGESINCATEGORY:分类名称}} {{PAGESINCAT:分类名称}}
|
Template:PAGESINCategory:有兽档案馆分类 0 |
[高开销] 指定分类中的页面总数(包括子类和文件)。(Category:有兽档案馆分类 在此用于演示) | |
{{PAGESINCATEGORY:分类名称|all}} {{PAGESINCATEGORY:分类名称|pages}} {{PAGESINCATEGORY:分类名称|subcats}} {{PAGESINCATEGORY:分类名称|files}}
|
Template:PAGESINCategory:有兽档案馆分类 Template:PAGESINCategory:有兽档案馆分类 Template:PAGESINCategory:有兽档案馆分类 Template:PAGESINCategory:有兽档案馆分类 |
[高开销] 返回指定分类的:
(Category:有兽档案馆分类 在此用于演示) |
|
{{NUMBERINGROUP:用户组}} {{NUMINGROUP:用户组}}
|
4 4 |
特定用户组中的用户总数 (steward用于演示) | |
{{PAGESINNS:索引编号}} {{PAGESINNAMESPACE:索引编号}}
|
未启用 | [高开销] 指定名字空间中的页面总数。(将“索引编号”替换成相关名字空间编号)。 例如{{PAGESINNAMESPACE:14}} 返回分类页面总数。{{PAGESINNS:0}} 与{{NUMBEROFARTICLES}} 不同之处在于包括重定向页面和消除歧义页面。 默认禁用,可以通过$wgAllowSlowParserFunctions 设置启用。
|
页面名称
变量 | 对于当前页面 | 描述 | 版本 |
---|---|---|---|
{{FULLPAGENAME}}
|
Help:魔术字 | 命名空间与完整页面标题(包括子页面级别)。 | |
{{PAGENAME}}
|
魔术字 | 不包含名字空间的完整页面标题(包括子页面级别)。 | |
{{BASEPAGENAME}}
|
魔术字 | 页面标题,不包括当前子页面标题及命名空间。 在Help:Title/Foo/Bar 頁面返回Title/Foo 。
|
|
{{ROOTPAGENAME}}
|
魔术字 | 获得当前页面的根页名。 在Help:Title/Foo/Bar 頁面返回Title 。
|
|
{{SUBPAGENAME}}
|
魔术字 | 子頁面標題。 在Help:Title/Foo/Bar 頁面返回Bar 。
如果子頁面不存在將會回傳 如果需要使用更多匹配的话,请使用解析器函数擴充功能的 |
|
{{SUBJECTPAGENAME}} {{ARTICLEPAGENAME}}
|
Help:魔术字 Help:魔术字 |
获得该页面的完整页面名。对讨论页十分有用。 | |
{{TALKPAGENAME}}
|
Help talk:魔术字 | 关联讨论页的完整页面名称 |
这些变量不受 {{DISPLAYTITLE:xxxx}}
影响,它们都会按原来的页面标题计算返回值。
{{BASEPAGENAME}}
和{{SUBPAGENAME}}
这两个魔术字只在启用了子页面模式的名字空间才生效。关于启用子页面模式请看$wgNamespacesWithSubpages
。
以上魔术字可以接受一个参数,用于指定特定页面,来代替要处理的当前页面设定:
{{PAGENAME:Template:Main Page}}
→ Main Page
![](/images/thumb/f/ff/%E7%9A%AE%E7%9A%AE%E6%B3%A8%E6%84%8F%E7%89%8C%EF%BC%88%E6%A9%99%EF%BC%89.svg/50px-%E7%9A%AE%E7%9A%AE%E6%B3%A8%E6%84%8F%E7%89%8C%EF%BC%88%E6%A9%99%EF%BC%89.svg.png)
.
”或“..
”的任意部分,魔术字什么都不返回。
{{PAGENAME:one/./three}}
→ . 不会返回任何东西。
![](/images/thumb/f/ff/%E7%9A%AE%E7%9A%AE%E6%B3%A8%E6%84%8F%E7%89%8C%EF%BC%88%E6%A9%99%EF%BC%89.svg/50px-%E7%9A%AE%E7%9A%AE%E6%B3%A8%E6%84%8F%E7%89%8C%EF%BC%88%E6%A9%99%EF%BC%89.svg.png)
'
、星号*
, 会导致以上魔术字会有不正常的处理结果,如:{{PAGESINCATEGORY:{{PAGENAME}}}}
。一种简单的修复方法是使用解析器函数扩展的{{#titleparts:}}
来处理标题。
URL 編碼後的頁面名稱
以下是在MediaWiki URL中的等价编码(就是空格替换为下划线,以及使用数字字符编码的一HTML溢出字符):
{{FULLPAGENAMEE}}
{{PAGENAMEE}}
{{BASEPAGENAMEE}}
{{SUBPAGENAMEE}}
{{SUBJECTPAGENAMEE}}
{{ARTICLEPAGENAMEE}}
{{TALKPAGENAMEE}}
{{ROOTPAGENAMEE}}
注意{{PAGENAME:...}}
、{{PAGENAMEE:...}}
和{{urlencode:...}}
有不同的实现方式。
命名空间
变量 | 输出 | 描述 | 版本 |
---|---|---|---|
{{NAMESPACE}}
|
Help | 页面的命名空间的名称 (除去主空间) | |
{{NAMESPACENUMBER}}
|
12 | 页面所在名字空间的ID | |
{{SUBJECTSPACE}} {{ARTICLESPACE}}
|
Help Help |
相关联的内容名字空间的名称 | |
{{TALKSPACE}}
|
Help talk | 相关联的讨论名字空间的名称 |
以下是在MediaWiki URL中的的等价编码(空格替换为下划线,一些字符替换为百分号编码):
{{NAMESPACEE}}
{{SUBJECTSPACEE}}
{{ARTICLESPACEE}}
{{TALKSPACEE}}
这些可以是完整页面名参数,并将返回与那个页面相关的请求名字空间,而不是在当前页面中:
{{NAMESPACENUMBER:MediaWiki}}
→ 0{{NAMESPACE:MediaWiki}}
→ (Pages in main space will return empty){{NAMESPACE:Template:Main Page}}
→ Template{{SUBJECTSPACE:Template:Main Page}}
→ Template{{ARTICLESPACE:Template:Main Page}}
→ Template{{TALKSPACE:Template:Main Page}}
→ Template talk
参数必须不是一个名字空间名称:
{{SUBJECTSPACE:Help talk}}
→ (Empty)
其他
变量 | 输出 | 描述 | 版本 |
---|---|---|---|
{{!}}
|
| | 用于在模板或者是表格内插入管道符号。在被添加为魔术字之前,许多wiki通过创建Template:!(内容为| )来实现。
有关更多说明,请参见幫助:扩展:解析器函數#在表格中逸出的管道符 |
|
{{=}}
|
= | 用于在模板参数或表格的单元格内容中插入等于号。 在被添加为魔术字之前,许多wiki通过创建(内容为= )来实现。
有关更多说明,请参见幫助:扩展:解析器函數#原始等号。 |
解析器函数
解析器函数与变量相似,但需要一个或多个参数(技术上讲,任何需要参数的魔术字都是解析器函数),并且名称有时以井号(hash)开头,以与模板区分开来。
此页面只描述MediaWiki软件中重要的解析器函数。其他MediaWiki软件可能添加的解析器函数包括ParserFunctions等。
另一页面的技术元数据
解析器函数 | 输出 | 描述 | 版本 |
---|---|---|---|
{{PAGEID: 页面名称 }}
|
0 | [高开销] 返回指定页面*的页面标识符。 | |
{{PAGESIZE:页面名称}} {{PAGESIZE: 页面名称 |R}}
|
0 0 |
[高开销] 返回特定页面的字节大小。使用“|R ”获取原始(未处理)数值。
|
|
页面名称}} | [高开销] 输出当前页面对于特定行为(比如edit,move)的保护级别(autoconfirm或sysop等)。若未保护则返回空字符串。 | ||
页面名称}} | [高开销] 根据给出的动作(如edit、move),返回当前页面的保护信息(例如:时间戳“20160418155030”,或“infinity(无限期)”) 如果未被保护,则会返回"infinity(无限期)"。 | ||
{{CASCADINGSOURCES: page name}}
|
[高开销] 返回在特定页面上任意连锁保护的来源。页面将不会返回其本身标题,除非页面有自我嵌入行为。 | ||
{{REVISIONID: 页面名称 }}
|
[高开销] 当前页面的最新更改的ID。 | ||
{{REVISIONDAY: 页面名称 }}
|
[高开销] 指定页面的最新更改的天* (未补全的数字)。 | ||
{{REVISIONDAY2: 页面名称 }}
|
[高开销] 指定页面的最新更改的天* (以0补全的数字)。 | ||
{{REVISIONMONTH: 页面名称 }}
|
[高开销] 指定页面的最新修改的月* (以0补全的数字)。 | ||
{{REVISIONMONTH1: 页面名称 }}
|
[高开销] 指定页面的最新修改的月* (未补全的数字)。 | ||
{{REVISIONYEAR: 页面名称 }}
|
[高开销] 指定页面的最新修改的年*。 | ||
{{REVISIONTIMESTAMP: 页面名称 }}
|
[高开销] 指定页面的最新修改的时间截*。 | ||
{{REVISIONUSER: 页面名称 }}
|
[高开销] 指定页面的最新修改的用户名*。 | ||
*当提供的参数等于当前解析器标题,在预览时以及在替换使用时解析器函数将产生上一版本,在用于页面创建时,这包括空字符串,但使用来自当前版本页面浏览的值,包括浏览旧版本。这种情况下它并非高开销函数解析器。 |
URL数据
解析器函数 | 输入 → 输出 | 描述 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
{{localurl:页面名称}} {{localurl:页面名称
|
{{localurl:MediaWiki}} → /wiki/MediaWiki {{localurl:MediaWiki|printable=yes}} → /index.php?title=MediaWiki&printable=yes |
至標題的相對路徑。 | ||||||||||
{{fullurl:页面名称}} {{fullurl:页面名称 {{fullurl:跨维基前缀:另一维基上的页面名称
|
{{fullurl:Category:Top level}} → https://youshou.wiki/wiki/Category:Top_level
|
至标题的协议相对路径,基於本地wiki的$wgServer 設定(且不一定會以http(s):// 開頭)。这也将解决跨wiki前缀。注意:未加括号的(单一)协议相对链接不会自动链接。
| ||||||||||
{{canonicalurl:页面名称}} {{canonicalurl:页面名称 {{canonicalurl:跨维基前缀:另一维基上的页面名称
|
{{canonicalurl:Category:Top level}} → https://youshou.wiki/wiki/Category:Top_level
|
至标题的绝对路径,使用规范URL。这也将解决跨wiki前缀。 | ||||||||||
{{filepath:文件名称}} {{filepath:文件名称|nowiki}} {{filepath:文件名称|缩略图大小}}
|
{{filepath:Qiuwen.svg}} →
|
媒体文件的完整大小或缩略图的协议相对路径。 | ||||||||||
{{urlencode:字符串}} 或 {{urlencode:字符串|QUERY}} {{urlencode:字符串|WIKI}} {{urlencode:字符串|PATH}}
|
{{urlencode:x:y/z á é}} 或 {{urlencode:x:y/z á é|QUERY}} → x%3Ay%2Fz+%C3%A1+%C3%A9 {{urlencode:x:y/z á é|WIKI}} → x:y/z_%C3%A1_%C3%A9 {{urlencode:x:y/z á é|PATH}} → x%3Ay%2Fz%20%C3%A1%20%C3%A9 请注意,在1.17中,默认值从 |
编码的输入用于URL。请注意,没有像过时的StringFunctions中那样的urldecode函数
| ||||||||||
{{anchorencode:字符串}}
|
{{anchorencode:x y z á é}} → x_y_z_á_é |
编码的输入用于URL部分锚点(在URL中的“#”符号之后)。 |
命名空间
{{ns:}}
使用该索引,规范名称或本地别名返回名字空间的当前本地化名称。因此{{ns:6}}
,{{ns:file}}
和{{ns:image}}
(File名称空间的旧名称)都返回File。
{{nse:}}
是MediaWiki URL的等效编码。它也是这样,但它用下划线替换空格,使其可用于外部链接。
内容名字空间 | 讨论名字空间 | |||
---|---|---|---|---|
用法 | 输出 | 用法 | 输出 | |
{{ns:-2}} / {{ns:Media}}
|
Media | {{ns:-1}} / {{ns:Special}}
|
Special (no talk page) | |
{{ns:0}} / {{ns:}}
|
{{ns:1}} / {{ns:Talk}}
|
Talk | ||
{{ns:2}} / {{ns:User}}
|
User | {{ns:3}} / {{ns:User talk}}
|
User talk | |
{{ns:4}} / {{ns:Project}}
|
有兽档案馆 Varies between wikis |
{{ns:5}} / {{ns:Project talk}}
|
有兽档案馆 talk | |
{{ns:6}} / {{ns:File}} or {{ns:Image}}
|
File | {{ns:7}} / {{ns:File talk}} or {{ns:Image talk}}
|
File talk | |
{{ns:8}} / {{ns:MediaWiki}}
|
MediaWiki | {{ns:9}} / {{ns:MediaWiki talk}}
|
MediaWiki talk | |
{{ns:10}} / {{ns:Template}}
|
Template | {{ns:11}} / {{ns:Template talk}}
|
Template talk | |
{{ns:12}} / {{ns:Help}}
|
Help | {{ns:13}} / {{ns:Help talk}}
|
Help talk | |
{{ns:14}} / {{ns:Category}}
|
Category | {{ns:15}} / {{ns:Category talk}}
|
Category talk |
不要将本地化名字空间与自定义名字空间相混淆。
格式化
用法 | 输入 → 输出 | 描述 | 版本 |
---|---|---|---|
|
不被支持的: 错误输入(不可靠输出)的示例,有或没有 |
采用未格式化的数字(例如阿拉伯语数字,没有组分隔符和. 作为小数分隔符)并将其输出到本地化的数字脚本中,并使用十进制和十进制组分隔符进行格式化,到wiki的默认语言环境。
![]() 开头的前导零不会被去除;可以使用 {{#expr:00001}} 来去除。![]() 如果你没有准确地以需求的数字格式输入,则难以得到任何可靠的输出,尤其是在非英文的维基上。 如果你真的需要输入一个无法保证格式正确的数字(根据Wiki的语言环境)的话,你可以使用 |
|
|
|
根据用户的“日期格式”设置格式化给定日期,并添加将其标记为格式化日期的元数据。对于未登录的游客和没有在设置中指定日期格式的用户,日期可以按以下默认格式给定:mdy 、dmy 、ymd 、ISO 8601 (大小写敏感)。如果只给定了月份和日期的话,只有 mdy 和 dmy 是合法格式。如果未给定日期格式或日期格式不合法,则输入格式将用作为默认格式。如果提供的日期未被识别为有效日期(特别是,如果它包含任何元数据,例如来自另一个 dateformat 或类似模板的嵌套使用),则将其保持不变,并且不会生成额外的元数据。 ![]() 即使ISO 8601格式要求参数1的日期是公历日期,若参数2指定ISO 8601,函数也能对那些超出通常公历范围的日期进行格式化(例如1583年之前的日期)。不过,函数无法正确转换ISO 8601格式下的负数年份和通常格式下的公元前的年份。 |
|
|
{{lc:DATA CENTER}} → data center
|
小写输入。 | |
|
{{lcfirst:DATA center}} → dATA center
|
输入的内容会强制将首字母小写化。 | |
|
{{uc:text transform}} → TEXT TRANSFORM
|
大写输入。 | |
|
{{ucfirst:text tRAnSFORM}} → Text tRAnSFORM
|
输入的内容会强制将首字母大写化。 | |
|
{{padleft:xyz|5}} → 00xyz
|
将参数1通过在左侧补上参数3指定的字符串(默认为0)补足到参数2指定的长度。 例如 {{padleft:44|3|0}} 生成 044。 参数3指定的字符串可能被截断以保证补足后的字符串长度满足要求。
在 1.12 版本以前,第三个参数只使用传入的字符串的第一个字符,但从 1.15 版本以后,第三个参数传入的字符串的所有字符都会被使用。 |
|
|
{{padright:xyz|5}} → xyz00
|
除了在右侧补上字符串外,其他与 padleft 一致。
|
本地化
这些是用于本地化工具的魔术字。其他的魔术字经常依赖wiki的本地化和位置,或者其他已选的语言,参见特定的#日期和时间、#格式化、杂项。
魔术字的用法会非常复杂,而且文档目前还不完整。
用法 | 输入 → 输出 | 描述 | 版本 |
---|---|---|---|
{{plural:2|is|are}}
|
{{plural:0|is|are}} → are{{plural:1*1|is|are}} → is{{plural:21 mod 10|is|are}} → are{{plural:{{#expr:21 mod 10}}|is|are}} → is{{plural:1|is|are}} → is{{plural:2|is|are}} → are{{plural:-1|is|are}} → is{{plural:-2|is|are}} → are{{plural:0.5|is|are}} → are{{plural:1.5|is|are}} → are{{plural:-0.5|is|are}} → are{{plural:-1.5|is|are}} → are(用于俄语) {{PLURAL:5|1=Категория|Категории}} → Категории
|
根据参数1是单数还是复数,输出不同的字符串:单数输出参数2,复数输出参数3。它的表现是与界面语言相关的。
[[#ref_一些语言(ab、av、ba、bxr、ce、crh_cyrl、cv、inh、koi、krc、kv、lbe、lez、mhr、mrj、myv、ru、tt_cyrl、tyv、udm、xal)使用3种复数形式
|
|
{{grammar:N|noun}}
|
根据分号后的词形变化代码输出给定的词的正确的词形变化。语法变形被用于波兰语这样的屈折语。参见 $wgGrammarForms 。
|
||
{{gender:username|text for every gender}}
|
(取决于指定用户的性别) | 根据指定的用户的设置返回该性别对应的文本。 注意: 第一个例子基本上啥也没干 |
|
{{int:消息名称}}
|
{{int:edit}} → 编辑 (取决于用户语言,可以试试:fr • ja) |
该解析器函数将会把(MediaWiki命名空间下的)界面消息翻译成用户语言。msgnw 和其他嵌套引用魔术字参见嵌入修改器一节。注意在1.17版本以前,这么做会导致缓存一致性被破坏。
|
|
{{int:editsectionhint|MediaWiki}}
|
{{int:editsectionhint|MediaWiki}} → 编辑章节:MediaWiki
|
你可以在翻译过程中使用参数。 界面消息里的参数使用 $1、$2、$3 来引用 例如,editsectionhint界面消息的源码为:编辑章节:$1 在左侧例子中,MediaWiki 替换了 $1。 |
嵌入修改器
{{页面名|可选参数}}
默认从 Template: 命名空间嵌入页面。
这些魔术字会修改此行为。
用法 | 描述 | 版本 | |
---|---|---|---|
{{:xyz}}
|
裸冒号不是模板修饰符,而是主命名空间的前缀。 由于嵌入默认为模板命名空间,因此您可以使用{{:UTC}}(与{{UTC}})来包含主名字空间条目UTC的文本而不是Template:UTC。 | ||
{{int:xyz}}
|
除了会根据内容/用户/uselang指定的语言来使用子页面以进行标准消息翻译外,其他与 {{MediaWiki:xyz}} 一致。 另一个区别在于,使用本函数后不会在“该页面使用的模板:”出现模板名(即界面消息名)。 如果MediaWiki:xyz不存在则渲染为⧼xyz⧽。 | ||
{{msg:xyz}} {{raw:xyz}}
|
即使有魔术字同名也会优先以模板名考虑,除非对应的模板不存在(等同于 {{template:xyz}}) 通常来说,当存在冲突时,会优先以魔术字名考虑。 | ||
{{raw:xyz}}
|
如果开启了$wgEnableScaryTranscluding ,那么将会在跨维基的嵌套引用中不引用来自对方站点的预渲染HTML而是引用wikitext源码。
|
||
{{msgnw:xyz}}
|
呈现未展开的wiki文本(或多或少)。 | ||
{{subst:xyz}}
|
在wikitext中,该函数将会被替换成模板文本(仅单层展开)。 | ||
{{safesubst:xyz}}
|
杂项
用法 | 输入 → 输出 | 描述 | 版本 |
---|---|---|---|
{{#language:语言代码}} {{#language:语言代码|目标语言代码}}
|
{{#language:ar}} → العربية {{#language:ar|en}} → Arabic
|
以参数2的语言代码指定的语言(没有则以参数1的)输出参数1的语言代码对应的语言全名:默认为本地化名称(语言别名),当指定了目标语言代码时会输出目标语言翻译版本。 | (翻译) |
{{#special:特殊页面名}}
|
{{#special:userlogin}} → Special:用户登录
|
给定规范Special:页面的本地化名称。 | |
{{#speciale:特殊页面名}}
|
{{#speciale:userlogin}} → Special:%E7%94%A8%E6%88%B7%E7%99%BB%E5%BD%95
|
给定规范Special:页面的本地化和URL编码名称。 | |
{{#tag:标签名称
|
例如Cite扩展的<ref> 标签:
参考资料
|
XML格式的MediaWiki解析器标签或扩展标签的别名。 此魔术字允许[wiki代码的预保存转换,和在此标签被处理之前的标签内部的解析器函数。 这也会防止在尚未执行的判断路径中解析标签(如在#if 中)。 标签之间的内容作为第一个参数传递,其他任何属性则作为后续的参数传递。 例如:
…能够像这样被重写:
![]() 必须写成这种形式才能使内容为空: {{#tag:tagnameTemplate:!!attribute1=值1|attribute2=值2}} 。在attribute1之前的管道字符|| 之间,不允许有文本内容的前导或尾部空格。 |
有关解析器函数#invoke,见Lua帮助文档。