local getArgs = require("Module:Arguments").getArgs local p = {} local color_data = mw.loadData("Module:Sandbox/Adorable_Newcomer/test/data") function p.name(color) return color_data[string.upper(color or '')] or 'null' end p.color = p.name function p._colorbox(color, firstColor, secondColor, note) local colorBackground = color or string.format("linear-gradient(%s 50%%,%s 50%%)", firstColor, secondColor) local title = note if not note then if color then title = p.name(color) else title = p.name(firstColor) .. '、' .. p.name(secondColor) end end local div = mw.html.create('div') div :attr('class', 'famed-color') :attr('title', title) :css('background', colorBackground) return tostring(div) end function p.colorbox(frame) args = getArgs(frame) return p._colorbox(args.color, args['First color'], args['Second color'], args['注释']) end return p