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 |
||
| (16 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 html = ' | 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 | for outfitPair in outfitsStr:gmatch("[^;]+") do | ||
local file, caption = outfitPair:match("^%s*(.-)%s*,%s*(.-)%s*$") | local file, caption = outfitPair:match("^%s*(.-)%s*,%s*(.-)%s*$") | ||
if file then | 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 | ||
end | end | ||
container:node(childContainer) | |||
return tostring(container) | |||
return | |||
end | end | ||
return p | return p | ||
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