Help:魔术字

来自Arcaea中文维基
CharaX讨论 | 贡献2024年7月30日 (二) 20:22的版本 →‎变量:​ 调整了一些表述和样式,现在应该不那么难看了)

(参见Mediawiki上的Help:Magic Words 本页面说明的魔术字均为Mediawiki对应页面上所列举出来的全部的魔术字,由于软件版本的问题不一定都能生效。你维目前(编辑时)使用的Mediawiki版本为1.39.5。如果该魔术字在当前版本不能使用,会使用删除线。

魔术字(Magic words)是MediaWiki软件所识别的特定字符串,它们可以返回特定的值或触发其他的功能:比如时间、站点设置或是页面名称等等。

魔术字有以下三种类型:

  • 状态开关:通常写成用两个下划线为前后缀的全大写单词,例如__ARCAEA__
  • 变量:用两个大括号括起来,全大写的字符,例如{{ARCAEA}}。用法于和模板类似。
  • 解析器函数:使用特定的函数(与一系列参数)计算值并表示,使用形式如{{#'''函数名''': 参数1|参数2...}}(请注意这里是英文的冒号:而不是中文的全角冒号)

状态开关

状态开关可以控制页面的显示方式和其他行为(受皮肤的影响,有些开关可能不起作用)。往往用于排除/加入特定的页面内容。

文字 描述
目录
__NOTOC__ 隐藏当前页面的目录
__FORCETOC__ 强制于默认位置(第一个章节标题的上方,不受__NOTOC__的设置)显示目录。对于在文章内容外展示目录的皮肤(比如Vector 2022)不起作用。
__TOC__ 在该魔术字的位置插入目录(忽略__NOTOC__的设置)。多次使用时,在第一个魔术字处显示目录。同上,对部分皮肤不起作用。
编辑
__NOEDITSECTION__ 隐藏章节标题旁的编辑链接。这个特别有用,当章节标题在模板中被创建时,普通的编辑链接将会把用户带到编辑模板代码界面,这与用户的直觉不符。 在模板中使用它将扩充对模板嵌入页面的影响,以及任何包含在同一页面的其他模板。(Mediawiki原文如此)
__NEWSECTIONLINK__ 在非讨论页顶端“编辑”标签右侧加入一个按钮,用于在页面结尾加入新的章节(比如讨论版)。
__NONEWSECTIONLINK__ 移除讨论页顶端“编辑”右侧的加入新章节链接。
分类
__NOGALLERY__ 用于分类页面(以Category为的页面前缀,下同)。不显示分类中所包含文件的缩略图,而以普通链接代替。
__HIDDENCAT__ 用于分类页面。加入后此分类成为隐藏分类,将不会显示在上级分类其及成员页面的分类列表中。
__EXPECTUNUSEDCATEGORY__ 在分类页面上使用,从Special:UnusedCategories中删除分类。
语言转换
__NOCONTENTCONVERT__<br>__NOCC__ 在语言有不同变体时(如中文简体和繁体),不对当前页面进行字词转换。比如只显示中文,而不是显示大陆简体、台湾繁体、新加坡简体和香港繁体。
__NOTITLECONVERT__<br>__NOTC__ 在语言有不同变体时(如中文简体和繁体),不对当前页面进行标题转换(其他内容照常转换)。
其他
__START__ 无实际作用。曾用于指向不应被嵌入的注释之后开始的数据库消息。
__END__ 明确标记条目的结尾,来防止MediaWiki移除文末的空格。
__INDEX__ 允许搜索引擎检索本页。
__NOINDEX__ 禁止搜索引擎检索本页(比如不可在搜索引擎列出指定页面)。(效果应是本魔术字之后的内容都不可检索)
__STATICREDIRECT__ 用于一些重定向页面。当有人移动页面并勾选“更新所有指向原始标题的重定向”时,禁止MediaWiki更新本页的重定向。

变量

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

如果某个模板名和变量名重复,软件会自动将其解释为变量。

  • 比如现有一模板与魔术字都为BRCAEA,使用魔术字时只需要{{BRCAEA}},而如果要调用模板,则需要加上前缀Template:{{Template:BRCAEA}}。部分情况下,添加参数会迫使解析器调用模板;例如,写{{BRCAEA|616}}会导致嵌入Template:BRCAEA并传入相应参数(比如这里是616),而不是调用变量。

日期与时间

以下的变量返回当前的日期和UTC时间。

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

使用这些变量会使页面被缓存的时间变得更短,这可以通过 MagicWordFactory 设置。

日期和时间魔术字被格式化为相应的语种。自1.19版本开始,它们取决于页面内容语言。

(以上为Mediawiki原文)

翻译:

以下变量返回当前的日期/时间。

受缓存(服务器端)影响可能不准。

使用这些变量的页面缓存时间会变短。

日期和魔术字会翻译成相应语言(比如你站是中文)。

  • 补充:前导0:指日期格式中补充位数的0,比如4月会补足为04,9日会补足为09。
变量 输出 描述
{{CURRENTYEAR}} 2024
{{CURRENTMONTH}} 11 月(补足前导0)
{{CURRENTMONTH1}} 11 月(不补足前导0)
{{CURRENTMONTHNAME}} 11月 月(本地语言中的月份名称)
{{CURRENTMONTHNAMEGEN}} 11月 月(本地语言中月份名称的属格形式)
{{CURRENTMONTHABBREV}} 11月 月(本地语言中月份名称的简称)
{{CURRENTDAY}} 16 日(无前导0)
{{CURRENTDAY2}} 16 日(补足前导0)
{{CURRENTDOW}} 6 星期(数字格式)
{{CURRENTDAYNAME}} 星期六 星期(文字形式)
时间
{{CURRENTTIME}} 01:46 时间(24小时制,格式为HH:mm)
{{CURRENTHOUR}} 01 时间(24小时制,有前导0)
其他
{{CURRENTWEEK}} 46 周数
{{CURRENTTIMESTAMP}} 20241116014600 YYYYMMDDHHmmss时间戳

CURRENTDATE不是魔术字,但很可能是一个模板。事实上在你站它并不是模板。

以下变量和上述变量作用相同(差了LOCAL和CURRENT),但使用的是网站服务器端配置的时间。

变量 输出 描述
{{LOCALYEAR}} 2024
{{LOCALMONTH}} 11 月(补足前导零)
{{LOCALMONTH1}} 11 月(不补足前导零)
{{LOCALMONTHNAME}} 11月 月(本地语言中的月份名称)
{{LOCALMONTHNAMEGEN}} 11月 月(本地语言中月份名称的属格形式)
{{LOCALMONTHABBREV}} 11月 月(本地语言中月份名称的简称)
{{LOCALDAY}} 16 日(无前导零)
{{LOCALDAY2}} 16 日(补足前导零)
{{LOCALDOW}} 6 星期(数字格式)
{{LOCALDAYNAME}} 星期六 星期
时间
{{LOCALTIME}} 09:46 时间(24小时制,格式为HH:mm)
{{LOCALHOUR}} 09 时间(24小时制,有前导零)
其他
{{LOCALWEEK}} 46 周数
{{LOCALTIMESTAMP}} 20241116094600 YYYYMMDDHHmmss时间戳

变量 输出 描述
站点
{{SITENAME}} Arcaea中文维基 维基网站的名称
{{SERVER}} https://arcwiki.mcd.blue 域名URL
{{SERVERNAME}} arcwiki.mcd.blue 子域名和域名
{{DIRMARK}}

{{DIRECTIONMARK}}


输出这个wiki默认语言所使用的Unicode文本方向控制字符(从左到右书写的语言使用‎,反之使用‏),这在多方向文本中很有用。取决于页面语言。
{{ARTICLEPATH}} /$1 相关文章路径
{{SCRIPTPATH}} 脚本相对路径
{{STYLEPATH}} /skins 样式相对路径
{{CURRENTVERSION}} 1.39.5 此维基站点的MediaWiki版本。
{{CONTENTLANGUAGE}}

{{CONTENTLANG}}

zh

zh

默认界面语言
页面
{{PAGEID}} 4941 返回页面标识符(页面ID)。
{{PAGELANGUAGE}}
{{#language:{{PAGELANGUAGE}}}}
zh
中文
返回当前页面的语言。此变量返回的语言代码可使用{{#language:...}}转换为语言名。
{{TRANSLATABLEPAGE}} Template:TRANSLATABLEPAGE 如果某个页面是可翻译的(包括已翻译的页面),则返回翻译页面(其他语言的翻译来源页面)的标题;如果该页面不可翻译,则不返回任何内容。你维版本太低使用不了
<translate>

<!--T:1-->
Translated unit.
Language:
<tvar name=lang>
{{TRANSLATIONLANGUAGE}}
</tvar>.
</translate>

<translate>
<!--T:2-->
Untranslated unit.
Language:
<tvar name=lang>
{{TRANSLATIONLANGUAGE}}
</tvar>.
</translate>

已翻译单元。语言:zh-CN.

Not translated unit. Language: en.

必须用于存在翻译的页面,在<translate>标签内部。 返回当前翻译单元的语言代码。在翻译页面中,若此单元已被翻译,则返回此翻译的语言。否则,返回源语言。 此变量返回的语言代码可使用{{#language:...}}转换为语言名。只应由翻译管理员使用。(此条在本站不能正常生效,但考虑到你站并没有这个需求……)
{{PROTECTIONLEVEL:操作}} 输出当前页面对于特定行为(比如edit,move)的保护级别(autoconfirm或sysop等)。若未保护则返回空字符串。
{{PROTECTIONEXPIRY:操作}} 根据给出的动作(如edit、move),返回当前页面的保护信息(例如:时间戳“20160418155030”,或“infinity”) 如果未被保护,则会返回"infinity"。
{{CASCADINGSOURCES}} [ 高开销]返回当前页面上的任意连锁保护操作来源。除非存在自我嵌入,否则页面将不会返回其各自标题。
查看当前页面的历史版本号(最近一次编辑版本或是选定的旧版本)
{{REVISIONID}} 53934 唯一修订ID。 在预览中恒为空白,因此能用来显示仅限于预览时的错误消息。 可能在守财奴模式(所有的WMF维基)中被停用,若不是在预览中改为回传-(?)
{{REVISIONDAY}} 30 最近一次编辑的日期(无前导0)。
{{REVISIONDAY2}} 30 最近一次编辑的日期(有前导0)
{{REVISIONMONTH}} 07 最近一次编辑的月份(有前导0)。
{{REVISIONMONTH1}} 7 最近一次编辑的月份(没有前导0)。
{{REVISIONYEAR}} 2024 最近一次编辑的年份
{{REVISIONTIMESTAMP}} 20240730202236 最近一次编辑的时间戳。
{{REVISIONUSER}} CharaX 编辑相关内容的用户或预览编辑内容的用户的用户名。
{{REVISIONSIZE}} 25842 当前查看的页面版本或预览的大小(维基文本)。(单位为字节)
影响页面内容
{{DISPLAYTITLE: 标题}}
{{DISPLAYTITLE: 标题|noerror}}
{{DISPLAYTITLE:标题|noreplace}}
设置当前页面的显示标题格式,这是页面标题通常显示的内容。 除非$wgRestrictDisplayTitle设置为false,否则该值必须等同于默认标题:仅允许对标题的某些部分(而不是全部)进行大写更改,并允许用下划线替换空格。 这可以通过$wgAllowDisplayTitle启用或禁用。
可以使用第二个参数noerror或是noreplace,用来在当有多个标题在一个页面使用时,阻止产生错误消息,或是在页面中的前面已经指定了了一个displaytitle的情况下,使此displaytitle失效。($wg是服务器端某个设置。)
{{DEFAULTSORT:排序关键字}}
{{DEFAULTSORTKEY:排序关键字}}
{{DEFAULTCATEGORYSORT:排序关键字}}
{{DEFAULTSORT:排序关键字|noerror}}
{{DEFAULTSORT: 排序关键字|noreplace}}
在为页面分类时使用,用来设置当前页面默认的分类排序关键字。 例如当你将{{DEFAULTSORT:Magic Word}}}放到页面Help:魔术字的结尾,该页面在分类页面上的列表中将默认排到“M”项下。 可以使用第二个参数noerror或是noreplace,用来在当有多个默认排序关键字在一个页面使用时,阻止产生错误消息,或是在页面中的前面已经指定了了一个defaultsort的情况下,使此defaultsort失效。

统计

这些变量返回的数字往往包含分隔符(根据本地语言参数设置而可能是逗号或空格)。可以通过“:R”来返回无分隔号的数字(例如{{NUMBEROFPAGES}} → 616,616和4839 → 616616)。

对于PAGESINCATEGORY等需要参数的变量则使用“|R”(例如{{PAGESINCATEGORY:Help}}{{PAGESINCATEGORY:Help|R}}{{PAGESINCATEGORY:Help|subcats}}{{PAGESINCATEGORY:Help|subcats|R}})。 也适用于上述0。

返回数字的魔术字数字格式取决于内容语言的设定。

变量 输出 描述
{{NUMBEROFPAGES}} 4,839 wiki页面数量
{{NUMBEROFARTICLES}} 617 在内容命名空间中,作为条目的页面个数。
{{NUMBEROFFILES}} 1,659 上传文件的个数。
{{NUMBEROFEDITS}} 58,278 维基编辑的数量
{{NUMBEROFVIEWS}} 已移除 页面浏览次数。通常对使用缓存的wiki无效。已移除
{{NUMBEROFUSERS}} 4,881 注册用户数量
{{NUMBEROFADMINS}} 4 管理员(sysop)组用户数。
{{NUMBEROFACTIVEUSERS}} 67 活跃用户总数,基于Special:Statistics中使用的标准。
{{PAGESINCATEGORY:分类名称}}
{{PAGESINCAT: 分类名称}}
0
0
[高开销] 指定分类中的页面总数(包括子类和文件)。(分类:帮助在此用于演示)
{{PAGESINCATEGORY: 分类名称|all}}
{{PAGESINCATEGORY: 分类名称|pages}}
{{PAGESINCATEGORY: 分类名称|subcats}}
{{PAGESINCATEGORY: 分类名称|files}}
0
0
0
0
[高开销] 返回指定分类的:
  • 所有页面数
  • 所有非分类页和非文件页数
  • 所有子分类页数
  • 所有文件页数

(分类:帮助|Help分类在此用于演示)

{{NUMBERINGROUP: 用户组}}
{{NUMINGROUP: 用户组}}
4
4
特定用户群组中的用户总数(这里管理员组为例)
{{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。

如果子页面不存在将会回传{{PAGENAME}}的值。

{{SUBJECTPAGENAME}}
{{ARTICLEPAGENAME}}
Help:魔术字 获得该页面的完整页面名。对讨论页十分有用。
{{TALKPAGENAME}} Help talk:魔术字 关联讨论页的完整页面名称

这些变量不受{{DISPLAYTITLE:xxxx}}影响,它们都会按原来的页面标题计算返回值。

{{BASEPAGENAME}}{{SUBPAGENAME}}这两个魔术字只在启用了子页面模式的命名空间才生效。

以上魔术字可以接受一个参数,用于指定特定页面,来代替要处理的当前页面设定:

  • {{PAGENAME:Template:Main Page}}返回 Main Page。
  • 如果页面标题包含存在“.”或“..”的任意部分,魔术字什么都不会返回。
  • 页面标题如果包括特定字符,例如:单引号'、星号*会导致以上魔术字会有不正常的处理结果。

URL 编码后的页面名称

以下是在MediaWiki URL中的等价编码(就是空格替换为下划线,以及使用数字字符编码的一些HTML溢出字符): {{FULLPAGENAMEE}}

{{PAGENAMEE}}

{{BASEPAGENAMEE}}

{{SUBPAGENAMEE}}

{{SUBJECTPAGENAMEE}}

{{ARTICLEPAGENAMEE}}

{{TALKPAGENAMEE}}

{{ROOTPAGENAMEE}}


命名空间

变量 输出 描述
{{NAMESPACE}} Help 页面的命名空间的名称 (除去主空间)
{{NAMESPACENUMBER}} 12 页面所在命名空间的ID
{{SUBJECTSPACE}}
{{ARTICLESPACE}}
Help
Help
相关联的内容命名空间的名称
{{TALKSPACE}} Help talk 相关联的讨论命名空间的名称

以下是在MediaWiki URL中的的等价编码(空格替换为下划线,一些字符替换为百分号编码): {{NAMESPACEE}}
{{SUBJECTSPACEE}}
{{ARTICLESPACEE}}
{{TALKSPACEE}}


这些可以是完整页面名参数,并将返回与那个页面相关的请求命名空间,而不是在当前页面中:

  • {{NAMESPACENUMBER:MediaWiki}} → 0
  • {{NAMESPACE:MediaWiki}} → (主)空间中的页面将返回空白
  • {{NAMESPACE:Template:Main Page}} → Template
  • {{SUBJECTSPACE:Template:Main Page}} → Template
  • {{ARTICLESPACE:Template:Main Page}} → Template
  • {{TALKSPACE:Template:Main Page}} → Template talk

参数必须不是一个命名空间名称:

  • {{SUBJECTSPACE:Help talk}}

其他

  • {{!}}插入一个管道符(|),但这里使用的是感叹号
  • {{=}}插入一个等于号

这两个魔术字在wiki上可能通过Template实现。(在本站是有的。)

解析器函数

Help:解析器函数