模块:TWRSideNavBox

来自TeamMoeg官方WIKI
Lyuuke讨论 | 贡献2022年1月2日 (日) 18:24的版本
跳到导航 跳到搜索
{|

|- |Buff vanilla 93.png |- |Buff vanilla 92.png |- |Buff vanilla 91.png

|}

local p = {}

itemString = "|-\n|[[File:{{{1}}}|50px|link={{FULLPAGENAME}}#{{{2}}}]]\n"
boxHeadLabel = "<div style=\"position: fixed; right: 0; top: 50%; z-index: 100; padding: 1em 2em 1em 1em; border-radius: 1em 0 0 1em; background-color: #7879934f; background-image: radial-gradient(#01010100 0%, #01010100 50%, #0101010f 65%, #01010122 75%, #01010166 100%); border-width: 0.2em 0 0.2em 0.2em; border-style: solid; border-color: #e6e6f2; box-shadow: 0 0 0.5em #01010166\">"
boxCaudaLabel = "</div>"

function p.assemblyFixedNavBox( frame )
    local returnString = ""
    itemString = itemString:gsub("{{FULLPAGENAME}}", frame.args["pagename"])
    for k, v in pairs(frame.args) do
        splitPoint = v:find("::")
        -- Format of each element: "<File Name>::<Anchor>"
        -- with no spaces in both sides of the backslash
        if splitPoint ~= nil and splitPoint > 1 then
            name1 = v:sub(1, splitPoint - 1)
            name2 = v:sub(splitPoint + 2)
            if name1:find("%.%w+$") ~= nil then
                segment = itemString:gsub("{{{1}}}", name1)
            else
                -- If no file extension is found, assumes PNG by default
                segment = itemString:gsub("{{{1}}}", name1 .. ".png")
            end
            segment = segment:gsub("{{{2}}}", name2)
            returnString = returnString .. segment
        end
    end
    return boxHeadLabel .. "{|\n" .. returnString .. "|}" .. boxCaudaLabel
end

return p