Module:交叉颜色
跳到导航
跳到搜索
--协力:User:サンムル local p = {} function p._main(args,toggle) local texts = {} local colors = {} for k, v in pairs(args) do if type(k) == 'string' then --如果是字符串则匹配c开头 local index = k:match "^c(%d+)$" if index then colors[tonumber(index)] = v end else --是数字 texts[k] = v end end colors[0] = colors[#colors] -- 余数等于0时输出除数域 --渲染部分 local root = mw.html.create 'span' for i, v in ipairs(texts) do root:tag 'span' :wikitext(v) :css {color = colors[i%#colors], ["data-color"] = toggle and color} :addClass(toggle and 'colorToggleBlock') end return root end function p.main ( frame ) local wrappers = { ['Template:交叉颜色'] = true, ['Template:交叉颜色护眼版'] = true } local toggle = frame.args["toggle"] local parent = frame:getParent() if parent and wrappers[parent:getTitle()] then frame = parent end local args = frame.args return p._main(args,toggle) end return p