Módulo:SpellInfobox: mudanças entre as edições

De Cronicas Eternas Wiki
Criou página com 'local p = {} function p.infobox(frame) local args = frame:getParent().args local sections = { ["INFORMAÇÕES DO FEITIÇO"] = { {"Nome", args["name"]}, {"Divindade", args["deity"]}, {"Criador", args["creator"]}, {"Classes", args["classes"]}, {"Escola", args["school"]}, {"Nível", args["level"]}, }, } -- Início da infobox com o nome local infobox = '<div style="...'
 
Sem resumo de edição
Linha 5: Linha 5:


     local sections = {
     local sections = {
         ["INFORMAÇÕES DO FEITIÇO"] = {
         {
            {"Nome", args["name"]},
            title = "INFORMAÇÕES DO FEITIÇO",
            {"Divindade", args["deity"]},
            fields = {
            {"Criador", args["creator"]},
                {"Nome", args["name"]},
            {"Classes", args["classes"]},
                {"Divindade", args["deity"]},
            {"Escola", args["school"]},
                {"Criador", args["creator"]},
            {"Nível", args["level"]},
                {"Classes", args["classes"]},
                {"Escola", args["school"]},
                {"Nível", args["level"]},
            },
         },
         },
     }
     }


     -- Início da infobox com o nome
     -- Início da infobox
     local infobox = '<div style="width:22em; background:#f9f9f9; border:1px solid #aaa; float:right; padding:5px; font-size:90%;">'
     local infobox = '<div style="width:22em; background:#f9f9f9; border:1px solid #aaa; float:right; padding:5px; font-size:90%;">'


     -- Adiciona o nome do feitiço no topo
    -- Adiciona a imagem no topo, se fornecida
    if args["image"] and args["image"] ~= "" then
        infobox = infobox .. string.format(
            '<div style="text-align:center; margin-bottom:10px;">%s</div>',
            frame:preprocess(string.format('[[File:%s|center|frameless|200px]]', args["image"]))
        )
    end
 
     -- Adiciona o nome do feitiço
     infobox = infobox .. string.format(
     infobox = infobox .. string.format(
         '<div style="text-align:center; background:#ccc; font-size:120%%; padding:4px;">%s</div>',
         '<div style="text-align:center; background:#ccc; font-size:120%%; padding:4px;">%s</div>',
Linha 25: Linha 36:


     -- Adiciona as seções e campos
     -- Adiciona as seções e campos
     for section, fields in pairs(sections) do
     for _, section in ipairs(sections) do
         infobox = infobox .. string.format('<div style="text-align:center; background:#ddd; font-size:110%%; padding:4px; margin-top:5px;">%s</div>', section)
         infobox = infobox .. string.format('<div style="text-align:center; background:#ddd; font-size:110%%; padding:4px; margin-top:5px;">%s</div>', section.title)
         for _, field in ipairs(fields) do
         for _, field in ipairs(section.fields) do
             local label, value = field[1], field[2]
             local label, value = field[1], field[2]
             if value and value ~= "" then
             if value and value ~= "" then

Edição das 23h55min de 23 de novembro de 2024

A documentação para este módulo pode ser criada em Módulo:SpellInfobox/doc

local p = {}

function p.infobox(frame)
    local args = frame:getParent().args

    local sections = {
        {
            title = "INFORMAÇÕES DO FEITIÇO",
            fields = {
                {"Nome", args["name"]},
                {"Divindade", args["deity"]},
                {"Criador", args["creator"]},
                {"Classes", args["classes"]},
                {"Escola", args["school"]},
                {"Nível", args["level"]},
            },
        },
    }

    -- Início da infobox
    local infobox = '<div style="width:22em; background:#f9f9f9; border:1px solid #aaa; float:right; padding:5px; font-size:90%;">'

    -- Adiciona a imagem no topo, se fornecida
    if args["image"] and args["image"] ~= "" then
        infobox = infobox .. string.format(
            '<div style="text-align:center; margin-bottom:10px;">%s</div>',
            frame:preprocess(string.format('[[File:%s|center|frameless|200px]]', args["image"]))
        )
    end

    -- Adiciona o nome do feitiço
    infobox = infobox .. string.format(
        '<div style="text-align:center; background:#ccc; font-size:120%%; padding:4px;">%s</div>',
        args["name"] or "NOME DO FEITIÇO"
    )

    -- Adiciona as seções e campos
    for _, section in ipairs(sections) do
        infobox = infobox .. string.format('<div style="text-align:center; background:#ddd; font-size:110%%; padding:4px; margin-top:5px;">%s</div>', section.title)
        for _, field in ipairs(section.fields) do
            local label, value = field[1], field[2]
            if value and value ~= "" then
                infobox = infobox .. string.format('<div style="padding:2px 5px;"><strong>%s:</strong> %s</div>', label, value)
            end
        end
    end

    infobox = infobox .. '</div>'

    return infobox
end

return p