More actions
No edit summary |
No edit summary |
||
(2 intermediate revisions by the same user not shown) | |||
Line 19: | Line 19: | ||
local text = mw.text.trim(textList[i] or '') | local text = mw.text.trim(textList[i] or '') | ||
local link = mw.text.trim(linkList[i] or '') | local link = mw.text.trim(linkList[i] or '') | ||
local subtext = mw.text.trim( | local subtext = mw.text.trim(subtextList[i] or '') | ||
local imageWrapper = html:tag('div'):addClass('image-wrapper') | local imageWrapper = html:tag('div'):addClass('image-wrapper') | ||
Line 28: | Line 28: | ||
imageWrapper:wikitext(string.format('[[File:%s]]', image)) | imageWrapper:wikitext(string.format('[[File:%s]]', image)) | ||
end | end | ||
local textContainer = imageWrapper:tag('div'):addClass('image-text-container') | |||
-- text overlay | -- text overlay | ||
if text ~= '' then | if text ~= '' then | ||
textContainer:tag('div'):addClass('image-text-main'):wikitext(text) | |||
end | end | ||
-- subtext overlay | -- subtext overlay | ||
if subtext ~= '' then | if subtext ~= '' then | ||
textContainer:tag('div'):addClass('image-text-sub'):wikitext(subtext) | |||
end | end | ||
end | end |
Latest revision as of 18:31, 17 September 2024
Documentation for this module may be created at Module:ImageGrid/doc
local p = {}
function p.renderImageGrid(frame)
local args = frame:getParent().args
local images = args['images'] or ''
local texts = args['texts'] or ''
local links = args['links'] or ''
local subtexts = args['subtexts'] or ''
local imageList = mw.text.split(images, ',')
local textList = mw.text.split(texts, ',')
local linkList = mw.text.split(links, ',')
local subtextList = mw.text.split(subtexts, ',')
local html = mw.html.create('div'):addClass('image-grid-container')
for i = 1, math.max(#imageList, #textList, #linkList, #subtextList) do
local image = mw.text.trim(imageList[i] or 'Noimg.png')
local text = mw.text.trim(textList[i] or '')
local link = mw.text.trim(linkList[i] or '')
local subtext = mw.text.trim(subtextList[i] or '')
local imageWrapper = html:tag('div'):addClass('image-wrapper')
if link ~= '' then
imageWrapper:wikitext(string.format('[[File:%s|link=%s]]', image, link))
else
imageWrapper:wikitext(string.format('[[File:%s]]', image))
end
local textContainer = imageWrapper:tag('div'):addClass('image-text-container')
-- text overlay
if text ~= '' then
textContainer:tag('div'):addClass('image-text-main'):wikitext(text)
end
-- subtext overlay
if subtext ~= '' then
textContainer:tag('div'):addClass('image-text-sub'):wikitext(subtext)
end
end
-- return string here
return tostring(html)
end
return p