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