跳转到内容

帮助:魔术字

本页使用了标题或全文手工转换
维基教科书,自由的教学读本
维基教科书使用手册索引 · 关于 · 阅读 · 编辑 · 管理 · 开发 · 附录 · 元帮助(简体 · 繁体
MediaWiki中的相关条目:

这是一个用于MediaWiki的魔术字索引。

魔术字是MediaWiki软件所识别的特定字符串,它们可以返回特定的值或触发其他的功能。

大致资讯

[编辑]

魔术字有如下三种:

  • 状态开关:以两个下划线“__”为前后缀的大写单词。例如__FOO__
  • 变量:同模板类似,以“{{”开头“}}”结尾,且所有字母大写,如{{FOO}}
  • 解析器函数:这些形如{{foo:...}}或{{#foo:...}}的魔术字在使用时包含参数,且函数名称对大小写不敏感(包括可大小写混用)。请同时参见Help:解析器函数

状态开关

[编辑]

状态开关可以控制页面的显示方式或其他行为。它往往用于排除或加入特定的页面内容。

魔术字 描述 版本
目录
__NOTOC__ 隐藏目录。
__FORCETOC__ 强制于默认位置(第一个章节标题上方)显示目录。
__TOC__ 在魔术字的位置插入目录(忽略__NOTOC__)。如果这个魔术字在一个页面内被多次使用,目录将会被放置在首个__TOC__出现的位置。
编辑
__NOEDITSECTION__ 隐藏章节标题旁的编辑链接。
__NEWSECTIONLINK__ 在非讨论页顶端“编辑页面”标签右侧加入一个按钮,用于在页面结尾加入新的章节(参见MediaWiki上的说明)。 1.7+
__NONEWSECTIONLINK__ 移除讨论页顶端“编辑页面”右侧的加入新章节链接。 1.15+
分类
__NOGALLERY__ 用于分类页面。不显示分类中所包含文件的缩略图,而以普通链接代替。 1.7+
__HIDDENCAT__ 用于分类页面。加入后此分类成为隐藏分类,将不会显示在上级分类其及成员页面的分类列表中(可以通过参数设置中的选项强制显示),建议用{{hiddencat}}。 1.13+
字词转换
__NOCONTENTCONVERT__
__NOCC__
不对当前页面进行字词转换。
__NOTITLECONVERT__
__NOTC__
不进行标题转换,其他内容照常转换。
其他
__START__ 没有特殊效果。用于标识提交后不需要转换的数据库信息。功能已经移除。 r1695时功能移除,r24784时完全移除
__INDEX__ 允许搜索引擎检索本页(忽略$wgArticleRobotPolicies的设置,但无法忽略robots.txt)。 1.14+
__NOINDEX__ 阻止搜索引擎检索本页。 1.14+
__STATICREDIRECT__ 用于重定向页。当有人移动页面并勾选“更新所有指向原标题的重定向”时,禁止MediaWiki更新本页的重定向。 1.13+
__DISAMBIG__ 用于消歧义页,该页会被标记为消歧义页并显示于Special:消歧义页面,建议用{{Disambig}}。 使用消歧义插件

变量

[编辑]

变量可以返回关于当前页面、wiki站点或日期的信息。变量的语法与模板类似。其中标记为“[高开销]”的变量会被软件记录,且在一个页面中可使用的总数会被限制。

如果某一模板名与变量名重复,软件会自动将其解释为变量(因此若要包含Template:PAGENAME,页面中需要写作{{Template:PAGENAME}})。在某些情况下,加入参数会强制软件将变量视作一个模板,如{{CURRENTDAYNAME|x}}将会包含Template:CURRENTDAYNAME

日期与时间

[编辑]

以下变量返回用户所设置的时区日期或时间,默认为UTC时间。

在MediaWiki与浏览器缓存的影响下,这些变量显示的往往是被缓存的值,而非当前的时间。

变量 输出 描述 版本
{{CURRENTYEAR}} 2024
{{CURRENTMONTH}} 11 月(补足前导零)
{{CURRENTMONTHNAME}} 11月 月(本地语言中的月份名称)
{{CURRENTMONTHNAMEGEN}} 11月 月(本地语言中月份名称的属格形式)
{{CURRENTMONTHABBREV}} 11月 月(本地语言中月份名称的简称) 1.5+
{{CURRENTDAY}} 24 日(无前导零)
{{CURRENTDAY2}} 24 日(补足前导零) 1.6+
星期
{{CURRENTDOW}} 0 星期(数字格式)
{{CURRENTDAYNAME}} 星期日 星期
时间
{{CURRENTTIME}} 13:13 时间(24小时制,格式为HH:mm)
{{CURRENTHOUR}} 13 时间(24小时制,有前导零)
其他
{{CURRENTWEEK}} 47 周数
{{CURRENTTIMESTAMP}} 20241124131337 YYYYMMDDHHmmss时间戳 1.7+

如下变量和以上列出的变量功能相同,但是使用的是站点所在时区的本地时间,而非用户所设置的时区或UTC:

  • {{LOCALYEAR}}
  • {{LOCALMONTH}}
  • {{LOCALMONTHNAME}}
  • {{LOCALMONTHNAMEGEN}}
  • {{LOCALMONTHABBREV}}
  • {{LOCALDAY}}
  • {{LOCALDAY2}}
  • {{LOCALDOW}}
  • {{LOCALDAYNAME}}
  • {{LOCALTIME}}
  • {{LOCALHOUR}}
  • {{LOCALWEEK}}
  • {{LOCALTIMESTAMP}}
对于更详细的时间格式,请参见Help:时间序号

技术元数据

[编辑]

历史版本变量返回的是与当前页面最近一次编辑有关的数据。

变量 输出 描述 版本
站点
{{SITENAME}} Wikibooks 站点名称($wgSitename
{{SERVER}} //zh.wikibooks.org 域名URL$wgServer
{{SERVERNAME}} zh.wikibooks.org 域名名称($wgServerName
{{DIRMARK}}
{{DIRECTIONMARK}}

输出这个wiki默认语言所使用的Unicode文本方向控制字符(从左到右书写的语言使用‎,反之使用‏ 1.7+
{{SCRIPTPATH}} /w 相对脚本路径($wgScriptPath
{{CURRENTVERSION}} 1.44.0-wmf.4 (a8dd895) 当前所使用的MediaWiki版本 1.7+
{{CONTENTLANGUAGE}}
{{CONTENTLANG}}
zh
zh
默认的界面语言($wgLanguageCode 1.7+
当前页面的最新编辑版本
{{REVISIONID}}
{{REVISIONID:页面标题}}
-
 
最近一次编辑版本的ID
[高开销]指定页面最近修订版本的ID
1.5+
1.16+
{{REVISIONDAY}}
{{REVISIONDAY:页面标题}}
11
 
最近一次编辑的日份
[高开销]指定页面最近一次编辑的日份
1.8+
1.16+
{{REVISIONDAY2}}
{{REVISIONDAY2:页面标题}}
11
 
最近一次编辑的日份(前导零)
[高开销] 指定页面最近一次编辑的日份
1.8+
1.16+
{{REVISIONMONTH}}
{{REVISIONMONTH:页面标题}}
02
 
最近一次编辑的月份
[高开销] 指定页面最近一次编辑的月份
1.8+
1.16+
{{REVISIONYEAR}}
{{REVISIONYEAR:页面标题}}
2018
 
最近一次编辑的年份
[高开销]指定页面最近一次编辑的年份
1.8+
1.16+
{{REVISIONTIMESTAMP}}
{{REVISIONTIMESTAMP:页面标题}}
20180211045849
 
最近一次编辑的时间戳
[高开销]最近修订版本的时间戳
1.8+
1.16+
{{REVISIONUSER}}
{{REVISIONUSER:页面标题}}
Fanjiayi
 
最近一个对本页面作出编辑的用户
[高开销] 最近一个对指定页面作出编辑的用户
在编辑提示里显示即将编辑的用户,见[1]
1.15+
1.16+
{{PAGESIZE:页面标题}}
{{PAGESIZE:Help:魔术字}}

0
[高开销]返回指定页面的大小 1.13+
{{PROTECTIONLEVEL:行为}} 保护级别 输出当前页面对于特定行为(create,edit或move)的保护级别(autoconfirm或sysop等)。若未保护则返回空字符串。 1.15+
影响页面内容
{{DISPLAYTITLE:标题}} 更改页面的标题,与-{T|}-类似,不推荐使用。可以通过$wgAllowDisplayTitle将其启用或禁用。在1.10+前默认禁用,之后的版本中默认启用。 1.7+
{{DEFAULTSORT:排序索引}}
{{DEFAULTSORTKEY:排序索引}}
{{DEFAULTCATEGORYSORT:排序索引}}
为页面设置一个默认的排序索引。例如在吉米·威尔士条目的结尾加入{{DEFAULTSORT:Wales, Jimmy}},则默认此条目在所有分类中都会排在“W”下,而非“吉”。 1.10+

统计

[编辑]

这些变量返回的数字往往包含分隔符(根据本地语言设置而可能是逗号或空格)。可以通过“:R”来返回无分隔号的数字(例如{{NUMBEROFPAGES}}→19,234而{{NUMBEROFPAGES:R}}→19234))。对于PAGESINCATEGORY等需要参数的变量则使用“|R”(例如{{PAGESINCATEGORY:Help}}{{PAGESINCATEGORY:Help|R}})。

变量 输出 描述 版本
整个站点
{{NUMBEROFPAGES}} 19,234 页面总数 1.7+
{{NUMBEROFARTICLES}} 3,718 主命名空间内的页面总数
{{NUMBEROFFILES}} 102 上传的文件总数 1.5+
{{NUMBEROFEDITS}} 178,776 总页面编辑次数 1.10+
{{NUMBEROFVIEWS}} 页面浏览次数。通常对使用缓存的wiki无效。 1.14~1.24
{{NUMBEROFUSERS}} 66,175 注册用户总数 1.7+
{{NUMBEROFADMINS}} 8 sysop用户组中的用户总数 1.7+
{{NUMBEROFACTIVEUSERS}} 39 活跃用户总数,其标准与Special:Statistics中的标准相同 1.15+
{{PAGESINCATEGORY:分类标题}}
{{PAGESINCAT:帮助文档}}

4
[高开销]指定分类中的页面总数。 1.13+

{{PAGESINCATEGORY:帮助文档|all}}
{{PAGESINCATEGORY:帮助文档|pages}}
{{PAGESINCATEGORY:帮助文档|subcats}}
{{PAGESINCATEGORY:帮助文档|files}}

4
4
0
0

[高开销]返回指定分类的:
  • 所有页面数
  • 所有非分类页和非文件页数
  • 所有子分类页数
  • 所有文件页数
1.20+
{{NUMBERINGROUP:用户群组}}
{{NUMINGROUP:用户群组}}
{{NUMBERINGROUP:bureaucrat}}→
0
特定用户群组中的用户总数 1.14+
{{PAGESINNS:索引编号}}
{{PAGESINNAMESPACE:索引编号}}
禁用 指定命名空间中的页面总数。例如{{PAGESINNAMESPACE:14}}返回分类总数。在中文维基百科被禁用。 1.7+

页面标题

[编辑]
变量 输出 描述 版本
{{FULLPAGENAME}} Help:魔术字 命名空间及页面标题 1.6+
{{PAGENAME}} 魔术字 页面标题
{{BASEPAGENAME}} 魔术字 页面标题,不包括当前子页面标题及命名空间(页面“Wikipedia:页面/子页面”则返回“页面”) 1.7+
{{SUBPAGENAME}} 魔术字 子页面标题(页面“Wikipedia:页面/子页面”则返回“子页面”) 1.6+
{{SUBJECTPAGENAME}} Help:魔术字 当前页面对应的内容页标题(包含命名空间) 1.7+
{{TALKPAGENAME}} Help talk:魔术字 当前页面对应的讨论页标题(包含命名空间) 1.7+

魔术字{{BASEPAGENAME}}{{SUBPAGENAME}}仅在允许子页面出现的命名空间中有效。参见mw:Manual:$wgNamespacesWithSubpages

以下类似的魔术字返回URL编码结果:

  • {{FULLPAGENAMEE}}
  • {{PAGENAMEE}}
  • {{BASEPAGENAMEE}}
  • {{SUBPAGENAMEE}}
  • {{SUBJECTPAGENAMEE}}
  • {{TALKPAGENAMEE}}

1.15+版本中,这些魔术字均可通过参数来指明特定页面:

  • {{PAGENAME:Template:Main Page}}Main Page

命名空间

[编辑]
变量 输出 描述 版本
{{NAMESPACE}} Help 命名空间
{{SUBJECTSPACE}}
{{ARTICLESPACE}}
Help
Help
当前页面对应的内容页面命名空间 1.7+
{{TALKSPACE}} Help talk 当前页面对应的讨论页命名空间 1.7+

以下类似的魔术字返回URL编码结果:

  • {{NAMESPACEE}}
  • {{SUBJECTSPACEE}}
  • {{TALKSPACEE}}

1.15+版本中,这些魔术字均可通过参数来指明特定页面:

  • {{NAMESPACE:Template:Main Page}}Template

其他

[编辑]
变量 输出 描述 版本
{{!}} | 在参数中代替| 1.24+

解析器函数

[编辑]

解析器函数与变量十分类似,但是有一个或多个参数(技术上来看,所有使用参数的魔术字均为解析器函数),且魔术字的名称前往往会有一个#号,以将它们与一般的模版区分开来。

这一页仅列出了整合在MediaWiki软件中的解析器函数。其他扩展(例如ParserFunctions extension)可能为MediaWiki加入更多的解析器函数。请参见Help:解析器函数了解更多的解析器函数。

URL数据

[编辑]
魔术字 输入 → 输出 描述 版本
{{localurl:页面标题}}
{{localurl:页面标题|字符串}}
/wiki/%E9%A1%B5%E9%9D%A2%E6%A0%87%E9%A2%98
/w/index.php?title=%E9%A1%B5%E9%9D%A2%E6%A0%87%E9%A2%98&字符串
指定标题的相对路径
{{fullurl:页面标题}}
{{fullurl:页面标题|字符串}}
{{fullurl:跨维基链接:页面标题|字符串}}
{{fullurl:Category:帮助文档}} →
//zh.wikibooks.org/wiki/Category:%E5%B8%AE%E5%8A%A9%E6%96%87%E6%A1%A3

{{fullurl:Category:帮助文档|action=edit}} →
//zh.wikibooks.org/w/index.php?title=Category:%E5%B8%AE%E5%8A%A9%E6%96%87%E6%A1%A3&action=edit
{{fullurl:en:Category:Help|action=edit}} →
https://en.wikibooks.org/wiki/Category:Help?action=edit

指定标题的绝对路径,同时处理跨维基前缀。 1.5+
{{filepath:文件名}}
{{filepath:文件名|nowiki}}
{{filepath:Wiki.png}} →
//upload.wikimedia.org/wikibooks/zh/b/bc/Wiki.png
{{filepath:Wiki.png|nowiki}} →
//upload.wikimedia.org/wikibooks/zh/b/bc/Wiki.png
指定多媒体文件的绝对路径 1.12+
{{urlencode:字符串}} {{urlencode:x y z 一二三}} →
x+y+z+%E4%B8%80%E4%BA%8C%E4%B8%89
将字符串以百分号编码以供URL使用。 1.7+
{{anchorencode:字符串}} {{anchorencode:x y z一二三}} →
x_y_z一二三
将字符串编码以供URL锚点(URL中#号后面的部分)使用。 1.8+

命名空间

[编辑]

{{ns:}}返回指定索引编号所对应命名空间的本地名称。

内容页面名字空间 讨论页名字空间
用法 输出 用法 输出
{{ns:-2}}{{ns:Media}} Media {{ns:-1}}{{ns:Special}} Special
{{ns:0}} {{ns:1}}{{ns:Talk}} Talk
{{ns:2}}{{ns:User}} User {{ns:3}}{{ns:User talk}} User talk
{{ns:4}}{{ns:Project}} Wikibooks {{ns:5}}{{ns:Project talk}} Wikibooks talk
{{ns:6}}{{ns:File}}{{ns:Image}} File {{ns:7}}{{ns:File talk}}{{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
{{ns:100}}{{ns:Transwiki}} Transwiki {{ns:101}}{{ns:Portal talk}} Transwiki talk
{{ns:118}}{{ns:Draft}} {{ns:119}}{{ns:Draft talk}}
{{ns:828}}{{ns:Module}} Module {{ns:829}}{{ns:Module talk}} Module talk
{{ns:2600}}{{ns:Topic}}

格式

[编辑]
用法 输入 → 输出 描述 版本
{{lc:字符串}} {{lc:DATA CENTER}} → data center 转换为小写字母输出 1.5+
{{lcfirst:字符串}} {{lcfirst:DATA CENTER}} → dATA CENTER 字符串的第一个字符转换为小写字母 1.5+
{{uc:字符串}} {{uc:text transform}} → TEXT TRANSFORM 转换为大写字母输出 1.5+
{{ucfirst:字符串}} {{ucfirst:text transform}} → Text transform 字符串的第一个字符转换为大写字母 1.5+
{{formatnum:无格式数字}}
{{formatnum:格式化的数字|R}}
{{formatnum:-987654321.654321}} → −987,654,321.654321
{{formatnum:-987,654,321.654321|R}} → -987654321.654321
根据本地语言的设置处理空格和逗号等数字分隔符。 1.7+
1.13+

{{#dateformat:日期}} {{#formatdate:日期}} {{#dateformat:日期|格式}} {{#formatdate:日期|格式}}

{{#dateformat:11 seP 2001|ymd}}
→ 11 seP 2001(您的设置),2001 SeP 11(默认)
{{#formatdate:sep 11,2001|dmy}}
→ sep 11,2001(您的设置),11 Sep 2001(默认)
{{#dateformat:1941-12-07|mdy}}
12月 7, 1941(您的设置),12月 7, 1941(默认)
{{#formatdate:2001 sep 11|ISO 8601}}
→ 2001 sep 11(您的设置)2001 sep 11(默认)

将日期显示为用户在“日期与时间”中所指定的格式。对于未登录或是未进行设置的用户,可以通过参数指定默认格式:mdy, dmy, ymd, ISO 8601(区分大小写)。如果未指定格式或格式无效,则输入格式会被作为默认格式。如果输入的日期无效,则直接输出未处理的结果。

解析器函数time提供了更多的格式化控制。

1.15+
{{padleft:xyz|字符串长度}}
{{padleft:xyz|字符串长度|字符}}
{{padleft:xyz|5}} → 00xyz
{{padleft:xyz|5|_}} → __xyz
自动在字符串开头用给定的字符(默认为“0”)补足到特定长度。例如{{padleft:44|3|0}}生成044。也用于截取字符串的一部分。 1.8+
{{padright:xyz|字符串长度}}
{{padright:xyz|字符串长度|字符}}
{{padright:xyz|5}} → xyz00
{{padright:xyz|5|_}} → xyz__
与padleft类似,但将字符加入到字符串的结尾。也用于截取字符串的一部分。
{{plural:计数|单数形式|复数形式}} {{plural:1|他|他们}} → 他 根据首个参数,输出特定词语的单数或复数形式(根据中文)。

杂项

[编辑]

参见

[编辑]