用戶: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)]]
。