Módulo:PetOutfitsVisualizer: mudanças entre as edições
Ir para navegação
Ir para pesquisar
Sem resumo de edição |
Sem resumo de edição |
||
| (10 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
| Linha 3: | Linha 3: | ||
function p.render(frame) | function p.render(frame) | ||
local outfitsStr = frame.args.outfits or "" | local outfitsStr = frame.args.outfits or "" | ||
local countOutfits = select(2, outfitsStr:gsub(";", "")) + 1 | |||
local lineBreak = tonumber(frame.args.linebreak) or countOutfits | |||
local container = mw.html.create('div'):addClass('pet-outfit-gallery') | local container = mw.html.create('div'):addClass('pet-outfit-gallery') | ||
local childContainer = mw.html.create('div') | local childContainer = mw.html.create('div') | ||
:addClass('pet-outfit-gallery-child') | :addClass('pet-outfit-gallery-child') | ||
:css({ | :css({ | ||
display = ' | display = 'grid', | ||
["grid-template-columns"] = 'repeat('.. lineBreak ..', 1fr)', | |||
gap = '10px' | gap = '10px' | ||
}) | }) | ||
local line = 0 | |||
for outfitPair in outfitsStr:gmatch("[^;]+") do | for outfitPair in outfitsStr:gmatch("[^;]+") do | ||
local file, caption = outfitPair:match("^%s*(.-)%s*,%s*(.-)%s*$") | local file, caption = outfitPair:match("^%s*(.-)%s*,%s*(.-)%s*$") | ||
Edição atual tal como às 18h46min de 19 de agosto de 2025
A documentação para este módulo pode ser criada em Módulo:PetOutfitsVisualizer/doc
local p = {}
function p.render(frame)
local outfitsStr = frame.args.outfits or ""
local countOutfits = select(2, outfitsStr:gsub(";", "")) + 1
local lineBreak = tonumber(frame.args.linebreak) or countOutfits
local container = mw.html.create('div'):addClass('pet-outfit-gallery')
local childContainer = mw.html.create('div')
:addClass('pet-outfit-gallery-child')
:css({
display = 'grid',
["grid-template-columns"] = 'repeat('.. lineBreak ..', 1fr)',
gap = '10px'
})
local line = 0
for outfitPair in outfitsStr:gmatch("[^;]+") do
local file, caption = outfitPair:match("^%s*(.-)%s*,%s*(.-)%s*$")
if file then
local box = mw.html.create('div')
:addClass('gallerybox')
-- Imagem
local imgDiv = mw.html.create('div')
:css({ textAlign = 'center' })
:wikitext(string.format('[[File:%s]]', file))
box:node(imgDiv)
-- Texto/legenda
local textDiv = mw.html.create('div')
:addClass('gallerytext')
:css({ textAlign = 'center', marginTop = '4px' })
:wikitext(caption or "")
box:node(textDiv)
childContainer:node(box)
end
end
container:node(childContainer)
return tostring(container)
end
return p