置顶公告:【置顶】关于临时开启评论区所有功能的公告(2022.10.22) | 【置顶】关于本站Widget恢复使用的公告
  • 你好~!欢迎来到萌娘百科镜像站!如需查看或编辑,请联系本站管理员注册账号。
  • 本镜像站和其他萌娘百科的镜像站无关,请注意分别。

Module:Souku color

贴贴♀百科,万娘皆可贴的百科全书!转载请标注来源页面的网页链接,并声明引自贴贴百科。内容不可商用。
跳到导航 跳到搜索
Template-info.svg 模块文档  [创建] [刷新]
local hex_table = mw.loadData("Module:Souku_color/Dataset")
local p = {}

local function find_hex(chara, colortype)
    local hex
        hex = hex_table[chara] and hex_table[chara][colortype]
    if hex then
        return hex
    else
    	hex = hex_table["default"]["base"]
        return hex
    end
end

function p.code(frame)
    local chara = frame.args[1]
    local colortype = frame.args[2]
    local hex_code = find_hex(chara, colortype)
    return mw.text.nowiki(hex_code)
end

function p.block(frame)
    local chara = frame.args[1]
    local hex_text = frame.args[2]
    local hex_block = find_hex(chara, "base")
    local chara_link = find_hex(chara, "link")
    
    local block = '<span style="width:0.8em; height:0.8em;border-radius:3px; background-color:' .. hex_block .. ';display:inline-block;"></span>'
    local text = block .. ' [[:' .. chara_link .. '|' .. chara .. ']]'
    
    if hex_text then
    	if hex_text == "color" then
			hex_text = find_hex(chara, "dark")
		end
		text = block .. ' [[:' .. chara_link .. '|<span style="color:' .. hex_text .. '">' .. chara .. '</span>]]'
	end
    
    return text
end

return p