萌娘百科无畏契约编辑组在此为所有参与专题维护的用户提供几个可用于提升工作效率的小工具,供各位编辑者依需求选用。
根据无畏契约专题编辑指南所述之原则:
在多个地图并列时(例如赛制介绍),应按照地图的发布时间进行排列,尽可能不要按照首字母进行排列。
地图并列排序格式:[[源工重镇]]、[[隐世修所]]、[[霓虹町]]、[[亚海悬城]]、[[森寒冬港]]、[[微风岛屿]]、[[裂变峡谷]]、[[深海明珠]]、[[莲华古城]]、[[日落之城]]、[[幽邃地窟]]
然而,以上排列顺序并不容易记忆,且大多数时候地图池总是七张地图一同出现,这给编写条目带来了很大的不便。
因此,GuoPC[更多]讨论页贡献上传历史封禁及历史被删贡献移动日志巡查日志用户权限基于Lua语言开发了一整套地图池自动生成方案,并封装在{{无畏契约地图池}}模板中,供编辑者使用。致敬瓦组传奇技术总监GuoPC
例如:首尔冠军赛的地图池为:源工重镇、隐世修所、亚海悬城、森寒冬港、莲华古城、日落之城、幽邃地窟。其中,霓虹町、微风岛屿、裂变峡谷、深海明珠四张地图不在地图池中。此时,我们就可以使用该模板,在条目中写入:
{{subst:无畏契约地图池|out=霓虹町、微风岛屿、裂变峡谷、深海明珠|sep=、}}
以上内容就会在保存时被自动转换为:
[[源工重镇]]、[[隐世修所]]、[[亚海悬城]]、[[森寒冬港]]、[[莲华古城]]、[[日落之城]]、[[幽邃地窟]]
可以看出,此时地图池已经按照正确顺序排列完成。显然相比于按顺序逐个输入,单纯填入不在图池中的地图且不需要考虑顺序的方法要更为省时省力。
该模板的详细用法,请参见模板文档:Template:无畏契约地图池/doc。
目前,无畏契约专题旗下各项赛事条目经常出现需要使用队伍图标的情形。然而在编写条目时,逐个填写队标的文件名是非常耗时的,复制文件名又需要从战队标准名称及LOGO页面逐个复制,极为麻烦。
好在,目前无畏契约专题旗下的所有队伍LOGO文件名都已按照统一格式进行了规范化。这使得我们使用正则表达式进行批量替换成为了可能。
例如,某场EDG对阵FPX的比赛,我们希望在行文时达到“ vs
”的效果。此时我们可以在撰写条目时直接填写:
EDG vs FPX
随后将所有“EDG”和“FPX”替换为[[file:VCTCNEDG.png|20px|link=]]
和[[file:VCTCNFPX.png|20px|link=]]
。
但很显然,这种做法会误伤到行文中正常出现的队名,且在队伍增多时仍然显得过于繁琐。因此我们可以用某种特定的方法标记出希望被替换成队标的位置,随后使用正则表达式一键替换。
例如,我们可以使用“+”将希望被替换成队标的位置包裹:
+EDG+ vs +FPX+
注意到用于命名队标文件的队伍缩写中只会出现大写字母A-Z和数字0-9,因此我们可以使用正则表达式,匹配以符号“+”开头和结尾,且中间是数个大写字母或阿拉伯数字的字符串,这样就可以精准定位到希望被替换的位置。
需要注意的是,字符“+”本身在正则表达式中是具有特殊含义的元字符,因此在使用时需要使用转义符“\”(反斜线)将其转义为“+”字符本身。
这样,我们就有了下面的正则表达式:
\+([A-Z0-9]+)\+
此时,我们已经匹配到了所有需要替换的位置,且其中的队名缩写都已进入匿名捕获组#1。随后,我们将以上内容替换为:
[[file:VCTCN$1.png|20px|link=]]
这样就实现了将队名批量替换为队标的目的。
此外,这一方法还可以衍生出更多用法,例如使用不同的字符包裹队名以标记不同赛区的队伍等。此类进阶用法留作练习,读者可自行尝试。
关于正则表达式的更多用法,请参阅萌百的帮助文档:Help:正则表达式。