跳转到内容

Module:SunShow:修订间差异

此后如竟没有炬火,我便是唯一的光。
无编辑摘要
无编辑摘要
第23行: 第23行:
function p.sunColor(inp, tzbiou)
function p.sunColor(inp, tzbiou)
tzbiou = tzbiou or 0
tzbiou = tzbiou or 0
     local l = inp % 7 -- 下卦
     local l = inp % 7 -- 下卦
     local u = math.floor(inp/7 + 0.125) % 7 -- 上卦
     local u = math.floor(inp/7) % 7 -- 上卦
   
     if (l == 4 and u == 1 and tzbiou == 1) then
     if (l == 4 and u == 1 and tzbiou == 1) then
         return ' ' -- 特殊时期返回空格
         return ' ' -- 特殊时期返回空格
第44行: 第46行:
function p.sunColor2(inp, tzbiou)
function p.sunColor2(inp, tzbiou)
tzbiou = tzbiou or 0
tzbiou = tzbiou or 0
     local l = (inp - 1) % 7 + 1
     local l = (inp - 1) % 7 + 1
     local u = math.floor((inp - 1) / 7) + 1
     local u = math.floor((inp - 1) / 7) % 7 + 1
      
      
     if (l == 3 and u == 6 and tzbiou==1) then
     if (l == 3 and u == 6 and tzbiou==1) then
         return ' ' -- 特殊时期返回空格
         return ' ' -- 特殊时期返回空格
     else
     else
        --return string.format(
    --        '<span style="background:-webkit-linear-gradient(90deg, %s 0%%, %s 50%%, %s 50%%, %s 100%%)"> </span>',
    --      rainbow[l], rainbow[l], rainbow[u], rainbow[u]
    --    )
         return string.format(
         return string.format(
             ' %s %s ',
             '<span style="background:-webkit-linear-gradient(90deg, %s 0%%, %s 50%%, %s 50%%, %s 100%%)"> </span>',
             l,u
             rainbow[l], rainbow[l], rainbow[u], rainbow[u]
         )
         )
     end
     end

2025年3月19日 (三) 22:39的版本

此模块的文档可以在Module:SunShow/doc创建

local p = {}

local getArgs = require('Module:Arguments').getArgs

local rainbow = {"#f4592d", "#eda667", "#faf03e", "#5fb319", "#8eede2", "#0568e3","#49207c","#aa10aa"}
local gua = {
    "火",   "祭祀", "对手", "成败", "反叛", "救赎", "爆发",
    "欲望", "木",   "创造", "新生", "凋谢", "重生", "弥散",
    "自我", "寻找", "存在", "经典", "革新", "梦幻", "倾听",
    "忍耐", "腐朽", "绝笔", "地",   "孤独", "小人", "永恒",
    "恶魔", "盛开", "理解", "泥土", "风",   "雾气", "神",
    "对抗", "绽放", "思考", "同伴", "变幻", "水",   "隐退",
    "超越", "生命", "表达", "破碎", "时间", "朦胧", "自然"
}

--[[
双色太阳易色块生成器(补码模式)
输入:
  inp: 0-48的整数
  tzbiou: 是否启用特殊时期样式(可选,默认0)
输出:带渐变背景的HTML片段
]]
function p.sunColor(inp, tzbiou)
	tzbiou = tzbiou or 0
	
    local l = inp % 7 -- 下卦
    local u = math.floor(inp/7) % 7 -- 上卦
    
    if (l == 4 and u == 1 and tzbiou == 1) then
        return ' ' -- 特殊时期返回空格
    else
        return string.format(
            '<span style="background:-webkit-linear-gradient(90deg, %s 0%%, %s 50%%, %s 50%%, %s 100%%)"> </span>',
            rainbow[7-l], rainbow[7-l], rainbow[7-u], rainbow[7-u]
        )
    end
end

--[[
双色太阳易色块生成器(原码模式)
输入:
  inp: 1-49的整数
  tzbiou: 是否启用特殊时期样式(可选,默认0)
输出:带渐变背景的HTML片段
]]
function p.sunColor2(inp, tzbiou)
	tzbiou = tzbiou or 0
	
    local l = (inp - 1) % 7 + 1
    local u = math.floor((inp - 1) / 7) % 7 + 1
    
    if (l == 3 and u == 6 and tzbiou==1) then
        return ' ' -- 特殊时期返回空格
    else
        return string.format(
            '<span style="background:-webkit-linear-gradient(90deg, %s 0%%, %s 50%%, %s 50%%, %s 100%%)"> </span>',
            rainbow[l], rainbow[l], rainbow[u], rainbow[u]
        )
    end
end

--[[
单色契色块生成器
输入:1-8的整数(对应八契)
输出:带纯色背景的HTML片段
]]
function p.cheiColor(inp)
    return string.format('<span style="background:%s">  </span>', rainbow[inp])
end

--[[
获取卦名
输入:0-48的整数
输出:对应的49日卦名
]]
function p.sun49(inp)
    return gua[49 - (inp % 49)]
end

--[[
模板调用:双色太阳易色块生成器(补码模式)
用法:{{#invoke:SunColors|sunColor|输入值}}
]]
function p.sunColorT(frame)
    local args = getArgs(frame)
    local inp = tonumber(args[1]) or 0 -- 默认值为0
    return p.sunColor(inp)
end

--[[
模板调用:双色太阳易色块生成器(原码模式)
用法:{{#invoke:SunColors|sunColor2|输入值}}
]]
function p.sunColor2T(frame)
    local args = getArgs(frame)
    local inp = tonumber(args[1]) or 1 -- 默认值为1
    return p.sunColor2(inp)
end

--[[
模板调用:单色契色块生成器
用法:{{#invoke:SunColors|cheiColor|输入值}}
]]
function p.cheiColorT(frame)
    local args = getArgs(frame)
    local inp = tonumber(args[1]) or 1 -- 默认值为1
    return p.cheiColor(inp)
end

--[[
模板调用:获取卦名
用法:{{#invoke:SunColors|sun49|输入值}}
]]
function p.sun49T(frame)
    local args = getArgs(frame)
    local inp = tonumber(args[1]) or 0 -- 默认值为0
    return p.sun49(inp)
end

return p