Módulo:CharacterInfobox

De Cronicas Eternas Wiki
Revisão de 20h05min de 22 de novembro de 2024 por Chomray (discussão | contribs) (Criou página com 'local p = {} function p.infobox(frame) local args = frame:getParent().args local sections = { ["INFORMAÇÕES BÁSICAS"] = { {"Títulos", args["titles"]}, {"Conhecido como", args["known_as"]}, {"Apelidos", args["nicknames"]}, {"Nome verdadeiro", args["real_name"]}, {"Lar", args["home"]}, {"Lares anteriores", args["previous_homes"]}, {"Sexo", args["gender"]},...')
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)

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

local p = {}

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

    local sections = {
        ["INFORMAÇÕES BÁSICAS"] = {
            {"Títulos", args["titles"]},
            {"Conhecido como", args["known_as"]},
            {"Apelidos", args["nicknames"]},
            {"Nome verdadeiro", args["real_name"]},
            {"Lar", args["home"]},
            {"Lares anteriores", args["previous_homes"]},
            {"Sexo", args["gender"]},
            {"Espécie", args["species"]},
            {"Etnia", args["ethnicity"]},
            {"Ocupação", args["occupation"]},
            {"Idade", args["age"]},
            {"Divindade Padroeira", args["patron_deity"]},
            {"Linguagens", args["languages"]},
        },
        ["DATAS"] = {
            {"Nascido", args["born"]},
            {"Transformado", args["transformed"]},
            {"Morte", args["death"]},
            {"Destruído", args["destroyed"]},
        },
        ["FAMÍLIA"] = {
            {"Pais", args["parents"]},
            {"Irmãos", args["siblings"]},
            {"Filhos", args["children"]},
            {"Parentes", args["relatives"]},
        },
        ["DINASTIA"] = {
            {"Início de reinado", args["reign_start"]},
            {"Fim de reinado", args["reign_end"]},
            {"Predecessor", args["predecessor"]},
            {"Sucessor", args["successor"]},
        },
        ["INFORMAÇÕES MECÂNICAS"] = {
            {"Alinhamento", args["alignment"]},
            {"Nível de desafio", args["challenge_rating"]},
            {"Classe", args["class"]},
        },
    }

    local infobox = string.format('<div style="width:22em; background:#f9f9f9; border:1px solid #aaa; float:right; padding:5px; font-size:90%%;">' ..
        '<div style="text-align:center; background:#ccc; font-size:120%%; padding:4px;">%s</div>', args["name"] or "NOME")

    for section, fields in pairs(sections) do
        infobox = infobox .. string.format('<div style="text-align:center; background:#ddd; font-size:110%%; padding:4px; margin-top:5px;">%s</div>', section)
        for _, field in ipairs(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