用户:GuoPC/说说萌点模板
希望本页面能对使用和修改{{萌点}}模板的编辑者起到一定帮助,让编辑者能更得心应手地运用该模板。
模板的使用
- 对应章节:Template:萌点/doc#用法
用{{萌点}}(以下称“模板”)给角色加萌点可能会很爽,比自己手敲[[X]][[分类:X]]
(以下称“传统形式”)要方便不少。毕竟不用管各种各样似乎无规律的神秘后缀。
就个人而言,我不喜欢将已有的以传统形式列出的萌点修改为用这个模板写出。以前的写法没问题,何必大费周章地修改呢?这里我不清楚相关编辑组的规定,所以这里暂不考虑编辑组的情况。
那么谈到条目中改用此模板的问题。
如果有编辑者看到萌点以传统形式列出,感觉需要改成使用模板,还请注意以下几点:
- 注意修改后的链接和分类指向是否正确。
- 对列出的萌点所对应的链接和分类,其中的一部分,模板可能尚未进行处理。这个时候,我建议编辑者在保存修改结果之后,最好检查一下链接和分类是否正确,必要时做进一步修改。
- 注意调整分类重定向。
- 编辑者在修改之后,注意页面底部的分类是否存在重定向,如果有,还请再修改一下这些萌点在模板中的写法。
- 注意移除不再需要的分类。
- 在改用模板后,原本显式写出的分类便不再需要,请在修改时一并移除。
- 注意避免使用模板不接受的写法。
- 众所周知,有个分类叫做分类:需要检查的萌点模板使用。这个分类是什么呢?这就要谈到模板的核心处理逻辑,见后文。结论是:除了例外萌点(模板中对应下方源代码第21行的部分),以及链接带有后缀而对应分类无后缀(实际上只要链接的条目没有对应的同标题分类即可,见模板中对应下方源代码第25行的部分)之外的所有
X(Y),Z
或X(Y)
(逗号不分全半角)形式的内容均会被判定为不合规,归入分类:需要检查的萌点模板使用下。编辑者在处理带后缀的萌点时:- 先看这个萌点是否在模板中对应下方源代码第6~16行加上后面给出后缀的部分之中。如果在,将后缀去除并去掉分类,放入模板中即可,否则:
- 再看这个萌点是否在模板中对应下方源代码第21行的部分之中。如果在,去掉分类原样放入模板中即可。如果两种情况都不满足,则需要检查输入的内容,或者修改模板,见后文。
- 众所周知,有个分类叫做分类:需要检查的萌点模板使用。这个分类是什么呢?这就要谈到模板的核心处理逻辑,见后文。结论是:除了例外萌点(模板中对应下方源代码第21行的部分),以及链接带有后缀而对应分类无后缀(实际上只要链接的条目没有对应的同标题分类即可,见模板中对应下方源代码第25行的部分)之外的所有
模板核心逻辑
注1:类似“〔var〕”的形式指出源代码中对应的变量;类似“【Ln】”“【Li-j】”的形式指出对应处理所在的行。
注2:此处不具体讨论对“黑幕”“del”或“加粗”的处理。
X(Y),Z
如果写到模板里的内容形式为X(Y),Z
(逗号不分全半角,对于形式X(Y)
则跳过第1步):
- 模板从逗号处将内容拆分,得到
X(Y)
〔moe1〕和Z
〔moe2〕。【L3】 - 模板处理链接,看
X(Y)
〔moe1〕在不在已经处理的一众萌点之中。这些萌点因为带有后缀者才是正确链接(如百合
→[[百合(萌属性)]]
),或另一链接才是正确链接(如AI
→[[人工智能]]
)而罗列在此,模板会将这些链接替换为正确的链接。【L6-18】带括号的显然没有,那么模板会将链接定为X(Y)
〔link〕〔moe1〕。【L19】 - 模板判断写法是否合规。
- 先看
X(Y)
〔moe1〕在不在例外萌点之中。这些萌点因为具有两个及以上后缀(如女王(性格)
和女王(身份)
),或无后缀链接也为萌属性(如植物
和植物(种族)
)而罗列在此,模板会跳过对这些萌点的检查。【L23】 - 如果不在这些例外萌点之中,模板会看
X(Y)
〔moe1〕有无(
。显然有,模板判断X(Y)
〔link〕〔moe1〕对应分类[[分类:X(Y)]]
是否存在,若存在则认定写法不合规,归入分类:需要检查的萌点模板使用下。【L24-26】
- 先看
- 模板判断是否要将后缀去除以进行后续的分类工作。【L28-33】
- 先看
X(Y)
〔moe1〕在不在例外萌点之中。这些萌点不论是否带后缀均为萌点(如同名同姓
和同名同姓(伪)
),为了跳过后续去除后缀的处理、以期被正确分类而罗列在此,模板会跳过对这些萌点的后缀的去除。【L30】可参考后文的预期效果辅助理解。 - 如果不在这些例外萌点之中,模板会去除后缀,将
X(Y)
变为X
〔moe1〕、X(Y)
〔link〕。从之后的分类部分可以看出,这是一个合并同类项的操作。【L31】
- 先看
- 模板添加可能存在的“黑幕”“del”或“加粗”。【L34-48】
- 模板给萌点分类。这一块注释还是相对清楚的。
- 先处理
x能力
,分类到[[分类:x能力者]]
。【L50】 - 默认情况下,
X(Y)
,或者说X
〔moe1〕会被分类到[[分类:X]]
下。对于萌点对应分类有后缀、分类与链接名称不同的情况,模板会进行单独处理。【L52-58】若输入的内容不在这些例外情况之中,则会按默认情况处理,分类到[[分类:X]]
下。【L59】
- 先处理
X,Y
如果写到模板里的内容形式为X,Y
(逗号不分全半角,对于形式X
则跳过第1步):
- 模板从逗号处将内容拆分,得到
X
〔moe1〕和Y
〔moe2〕。【L3】 - 模板处理链接,看
X
〔moe1〕在不在已经处理的一众萌点之中。这些萌点因为带有后缀者才是正确链接(如百合
→[[百合(萌属性)]]
),或另一链接才是正确链接(如AI
→[[人工智能]]
)而罗列在此,模板会将这些链接替换为正确的链接。【L6-18】若X
〔moe1〕属于这些例外情况,则将链接定为X(A)
〔link〕,否则定为X
〔link〕〔moe1〕。【L19】 - 模板判断写法是否合规的部分仅适用于带
(
的情形,这里会跳过。【L22-27】 - 模板判断是否要将后缀去除以进行后续的分类工作,这里处理前后无变化。【L28-33】
- 模板添加可能存在的“黑幕”“del”或“加粗”。【L34-48】
- 模板给萌点分类。这一块注释还是相对清楚的。
- 先处理
x能力
,分类到[[分类:x能力者]]
。【L50】 - 默认情况下,
X
〔moe1〕会被分类到[[分类:X]]
下。对于萌点对应分类有后缀、分类与链接名称不同的情况,模板会进行单独处理。【L52-58】若输入的内容不在这些例外情况之中,则会按默认情况处理,分类到[[分类:X]]
下。【L59】
- 先处理
模板源代码
注:对应版本:Special:固定链接/7363610,请以最新版本为准。为便于说明,对换行和缩进进行了调整。
{{#fornumargs: num | value
|{{#ifeq:{{#var:num}}|1||、}}
{{Split|str={{#var:value}}|ptn=[,,]|reg=on|name=moe}}
{{#vardefine:link
|{{#switch:{{#var:moe1}}
|百合|蔷薇|薔薇|天使|女神|魔王|家庭教师|家庭教師|搞事|文学少女|文學少女|亚人|OL|亞人|巫女|小学生|小學生|炼金术士|煉金術士|Cosplay|BOSS|巨人|蝴蝶结|蝴蝶結|魔法师|魔法師|恋爱脑|戀愛腦|萌娘百科|鬼畜|八卦|乙女|任性|班长|班長|自攻自受|医生|醫生|主持人|遮阳帽|遮陽帽|偶像|嫉妒|僵尸|收藏家|替身|作家|贞子|貞子|白化病|一见钟情|一見鍾情|编辑|編輯={{#var:moe1}}(萌属性)
|猫娘|貓娘={{#var:moe1}}(拟人化萌娘)
|小天使={{#var:moe1}}(用语)
|旅行者|师父|師父={{#var:moe1}}(身份)
|恶魔|惡魔={{#var:moe1}}(原型)
|小丑={{#var:moe1}}(职业)
|自行车|自行車={{#var:moe1}}(道具)
|鲸|鯨={{#var:moe1}}(动物)
|骷髅|骷髏={{#var:moe1}}(种族)
|石化={{#var:moe1}}(表情)
|AI=人工智能
|双刀|雙刀|双剑|雙劍=二刀流
|声优|聲優|漫画家|漫畫家|演员|演員|偶像={{#var:moe1}}(萌属性)<!--与用于现实人物的职业分类重名,特别区分-->
|#default={{#var:moe1}}
}}
}}
{{#switch:{{#var:moe1}}
|女王(性格)|女王(身份)|魔女(职业)|魔女(職業)|魔女(种族)|魔女(種族)|魔女(称号)|魔女(稱號)|清楚(衍生义)|清楚(衍生義)|白虎(萌属性)|白虎(萌屬性)|葫芦(萌属性)|葫蘆(萌屬性)|环(武器)|環(武器)|枪(冷兵器)|槍(冷兵器)|植物(种族)|植物(種族)|鬼(日本)|天狗(日本)|同名同姓(伪)|同名同姓(偽)=
|#default={{#if:{{Str_test|{{#var:moe1}}|%(}}
|{{#ifexist:Category:{{#var:link}}|{{ac|需要检查的萌点模板使用}}}}
}}
}}
{{#vardefine:moe1
|{{#switch:{{#var:link}}<!--若不论有无后缀均为萌属性分类,保证带后缀者内链原样输出,否则将后缀去除以便后续进行分类-->
|同名同姓(伪)|同名同姓(偽)={{#var:link}}
|#default={{Trim_suffix|{{#var:moe1}}}}
}}
}}
{{#switch:{{#var:moe.count}}
|1=[[{{#var:link}}|{{#var:moe1}}]]
|2|3={{#vardefine:content|
{{#switch:{{#var:moe.count}}
|2=[[{{#var:link}}|{{#var:moe1}}]]
|3=[[{{#var:link}}|{{#var:moe2}}]]
}}
}}
{{#switch:{{#var:moe{{#var:moe.count}}}}
|黑幕|heimu={{黑幕|{{#var:content}}}}
|del=<del>{{#var:content}}</del>
|加粗|b='''{{#var:content}}'''
|#default=[[{{#var:link}}|{{#var:moe2}}]]
}}
}}
{{ArticleCategory
|{{#ifexpr:{{str test|{{#var:moe1}}|能力|else=0}} != ({{str test|{{#var:moe1}}|[钞鈔]能力|else=0}} or {{str test|{{#var:moe1}}|能力者|else=0}})|{{#var:moe1}}者<!--各类能力者只需要填写x能力即可-->
|{{#switch:{{#var:moe1}}
|女王|魔女|声优|聲優|漫画家|漫畫家|演员|演員|偶像|作家|亚人|亞人|清楚|萌娘百科|鬼畜|八卦|贞子|貞子|葫芦|葫蘆|环|環|枪|槍|骷髅|骷髏|鬼|替身|蔷薇|薔薇|石化|编辑|編輯|同名同姓={{#var:link}}<!--链接与分类都有后缀的萌属性-->
|歌手|网络主播|網絡主播|看板娘|导演|導演|企业家|企業家|音乐人|音樂人={{#var:moe1}}(萌属性)<!--链接无后缀,但分类有后缀的萌属性-->
|植物={{#var:moe1}}(种族)
|园丁|園丁=园艺师
|白长直|白長直|金长直|金長直=长直
|超长发|超長髮=长发
|只穿校服=校服
|#default={{#var:moe1}}
}}
}}
}}
}}
模板本身的修改
了解核心逻辑之后,就可以放手去添加或调整模板检查萌点的特例了。当然,如果您是从“模板的使用”一节跳转来的也可以直接阅读本章节。
因为模板本身不具备繁简转换功能,所以在修改时请务必确认修改内容是否存在繁简写法不同的情况。如果有,请成对进行修改。
修改前提醒
修改模板时请同时注意萌点的链接和分类,模板修改后请检查和测试是否为预期效果。
注意,不恰当的修改可能会导致模板无法正常工作。如果您对自己的修改没有把握,请转到讨论版或模板讨论页描述您的需求或提出修改意见。
添加或调整萌点的链接
找到模板中对应上方源代码第6~18行的部分。
- 添加或调整带后缀萌点的链接
以添加A
对应链接[[A(B)]]
为例。
若对应后缀(B)
已存在,将|A
加入前面罗列的萌点中即可。
若后缀不存在,按|A={{#var:moe1}}(B)
格式新加一行即可。参考上方源代码的第6~15和18行。
- 添加或调整萌点的实际链接
如果希望萌点A
实际链接至[[B]]
,按|A=B
格式新加一行。参考上方源代码的第16~17行。
若涉及的萌点较为特殊或罕见,可考虑直接在条目中以B,A
格式填入模板。
- 跳过对某一带后缀萌点的检查
如前文所述,萌点因为具有两个及以上后缀(如女王(性格)
和女王(身份)
),或无后缀链接也为萌属性(如植物
和植物(种族)
)时,需要模板跳过对该带后缀萌点的检查。
此时找到模板中对应上方源代码第23行的部分,将该萌点加入即可。注意保留最后的=
。
添加或调整萌点的分类
如前文所述,默认情况下,A(B)
和A
均会被分类到[[分类:A]]
下。对于萌点对应分类有后缀、分类与链接名称不同的情况,需要单独处理。
找到模板中对应上方源代码第52~58行的部分,根据各行后面的注释将符合条件的分类加入即可。
以上情形的组合
对于以上修改情形的组合,按照上述各情形分解后,逐个修改即可。
如添加A
对应链接[[A(B)]]
、分类到[[分类:A(B)]]
,即先按“#添加或调整带后缀萌点的链接”所述内容操作,再按“#添加或调整萌点的分类”所述内容操作。
其他特殊情形
对“不论是否带后缀均为萌点”中带后缀的一方(记为M(N)
),如果需要模板对其处理,可按以下步骤修改:
- 按“#跳过对某一带后缀萌点的检查”所述内容操作;
- 找到模板中对应上方源代码第30行的部分,将该萌点按
|M(N)
格式加在={{#var:link}}
之前; - 找到模板中对应上方源代码第52行的部分,将该萌点按
|M
格式加在={{#var:link}}
之前。
修改后的预期效果为:
- 萌点
M
链接至[[M]]
,分类到[[分类:M]]
; - 萌点
M(N)
链接至[[M(N)]]
,分类到[[分类:M(N)]]
。