由Chi ZJ2提出的对模板:Eye color的编辑请求:
与{{Hair color}}作类似处理,便于给任意瞳色添加注释。
新代码和旧代码相比仅仅多出了一堆{{#var:eye2}}
。要加的地方有点杂,直接全文替换吧。
新代码 |
---|
<includeonly>{{split|str={{{1}}}|ptn=$|name=eye}}<!--用于切分瞳色与注释 -->{{#vardefine:预处理 |{{#switch:{{#var:eye1}}|异色|異色={{#var:eye1}} |#default= {{#if:{{#switch: {{Str_rightc|{{#var:eye1}}|1}} <!-- 如果“瞳色”最右边1个字符合下表 --> |瞳 |色 = true }} |{{Str_crop|{{#var:eye1}}|1}} <!-- 那么切掉最后1个字 --> |{{#var:eye1}} <!-- 否则不进行切除 --> }} }} }}<!-- -->{{#vardefine:瞳色 |{{#if:{{#switch: {{Str_left|{{#var:预处理}}|1}} <!-- 如果“瞳色”最左边1个字符合下表 --> |浅 |淺 |深 |亮 |暗 |浓 |濃 |淡 |黑 |灰 |银 |銀 |碧 |墨 |玫 |土 |水 |翠 |钴 |鈷 = true }} |{{#ifeq:{{Str_len|{{#var:预处理}}}} |1 <!-- 且“瞳色”大于一个字(避免裁剪后一个字都不剩) --> |{{#var:预处理}} |{{Str_crop_left|{{#var:预处理}}|1}} <!-- 那么切掉开头1个字 --> }} |{{#var:预处理}} <!-- 否则不进行切除 --> }} }}<!-- -->{{#switch: {{#var:瞳色}} | 粉 | 粉红 | 粉紅 | 洋紅 | 洋红 | 桃 | 桃紅 | 桃红 = {{ArticleCategory|粉瞳}}[[粉瞳|{{#var:预处理}}瞳]]{{#var:eye2}}<!-- 使用 #var:预处理 的原因是保留可能带有的前缀 --> | 绯 | 緋 | 唐红 | 唐紅 | 赤 | 橙红 | 橙紅 | 紅 | 红 = {{ArticleCategory|红瞳}}[[红瞳|{{#var:预处理}}瞳]]{{#var:eye2}} | 紫 | 靛 | 蓝紫 | 藍紫 | 紫蓝 | 紫藍 | 雪青 | 紫紅 | 紫红 = {{ArticleCategory|紫瞳}}[[紫瞳|{{#var:预处理}}瞳]]{{#var:eye2}} | 青 | 靑 | 碧 | 藍 | 蓝 | 青蓝 | 青藍 | 蓝绿 | 藍綠 | 灰蓝 | 灰藍 | 蓝灰 | 藍灰 | 宝石蓝 | 寶石藍 | 天空蓝 | 天空藍 | 天蓝 | 天藍 = {{ArticleCategory|蓝瞳}}[[蓝瞳|{{#var:预处理}}瞳]]{{#var:eye2}} | 綠 | 绿 | 青绿 | 靑綠 | 军绿 | 軍綠 | 青灰 | 翡翠 | 祖母綠 | 祖母绿 | 黃綠 | 黄绿 | 灰綠 | 灰绿 | 綠褐 | 绿褐 | 綠棕 | 绿棕 | 棕绿 | 棕綠 | 墨綠 | 墨绿 = {{ArticleCategory|绿瞳}}[[绿瞳|{{#var:预处理}}瞳]]{{#var:eye2}} | 金 | 黃 | 黄 | 金黃 | 金黄 | 米 | 米黃 | 米黄 | 亞麻 | 亚麻 | 柠檬黄 | 檸檬黃 | 橄榄黄 | 橄欖黃 | 栀子黄 | 梔子黃 | 琥珀 = {{ArticleCategory|金瞳}}[[金瞳|{{#var:预处理}}瞳]]{{#var:eye2}} | 桔 | 桔黃 | 桔黄 | 橘 | 橘黃 | 橘黄 | 橙 | 橙黃 | 橙黄 | 橙褐 = {{ArticleCategory|橙瞳}}[[橙瞳|{{#var:预处理}}瞳]]{{#var:eye2}} | 褐 | 棕 | 棕褐 | 亞麻棕 | 亚麻棕 | 棕黑 | 栗 | 茶 | 咖啡 | 咖啡色 | 棕黃 | 棕黄 | 红棕 | 紅棕 | 棕红 | 棕紅 | 金褐 | 红褐 | 紅褐 | 黄褐 | 黃褐 | 酒红 | 酒紅 = {{ArticleCategory|棕瞳}}[[棕瞳|{{#var:预处理}}瞳]]{{#var:eye2}} | 黑 | 藍黑 | 蓝黑 = {{ArticleCategory|黑瞳}}[[黑瞳(瞳色)|{{#var:预处理}}瞳]]{{#var:eye2}} | 灰 | 銀 | 银 | 銀白 | 银白 | 銀灰 | 银灰 = {{ArticleCategory|灰瞳}}[[灰瞳|{{#var:预处理}}瞳]]{{#var:eye2}} | 白 = {{ArticleCategory|白瞳}}[[白瞳|{{#var:预处理}}瞳]]{{#var:eye2}} | 异|異 = {{ArticleCategory|异色瞳}}[[异色瞳|{{#var:预处理}}色瞳]]{{#var:eye2}} | 异色 | 異色 = {{ArticleCategory|异色瞳}}[[异色瞳|{{#var:预处理}}瞳]]{{#var:eye2}} | 彩虹 = {{ArticleCategory|彩虹瞳}}[[彩虹瞳|{{#var:预处理}}瞳]]{{#var:eye2}} | 渐变 | 漸變 = {{ArticleCategory|渐变瞳}}[[渐变瞳|{{#var:预处理}}瞳]]{{#var:eye2}} | #default = <!-- 容错程序,尽量接受“非常细化的颜色”: -->{{#vardefine:最后一个字预处理 |{{Str_right|{{#var:预处理}}|{{#expr:{{Str_len|{{#var:预处理}}}}-1}} }} <!-- 取输入字符的最后一个字“x” --> }}<!-- -->{{#vardefine:最后一个字 |{{#switch: {{#var:最后一个字预处理}} | 银|銀 = 灰 | 黄|黃 = 金 | 褐 = 棕 | #default = {{#var:最后一个字预处理}} }}<!-- -->}}<!-- -->{{#ifexist: Category:{{#var:最后一个字}}瞳 <!-- 检测“x瞳”分类是否存在 --> | [[{{#var:最后一个字}}瞳{{#ifeq:{{#var:最后一个字}}|黑|(瞳色)}}|{{#var:预处理}}瞳]]{{#var:eye2}}{{ArticleCategory|{{#var:最后一个字}}瞳}} <!-- 存在[[分类:x瞳]],那么显示这个分类 --> | {{#if:{{{ft|}}}|{{{1}}}|{{#var:预处理}}瞳{{ArticleCategory|错误瞳色}}}} <!-- 不存在这个分类,显示“错误瞳色”,如果容错开关打开,则原样输出 --> }} }}</includeonly><noinclude>{{Doc}}</noinclude> |