Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Module:ImageGrid: Difference between revisions

From MassiveCraft Wiki
No edit summary
No edit summary
Line 12: Line 12:


     for i = 1, math.max(#imageList, #textList) do
     for i = 1, math.max(#imageList, #textList) do
         local image = mw.text.trim(imageList[i] or 'Noimg.png') -- Fallback to 'Noimg.png' if nil
         local image = mw.text.trim(imageList[i] or 'Noimg.png')  
         local text = mw.text.trim(textList[i] or '') -- Fallback to empty string if nil
         local text = mw.text.trim(textList[i] or '')  


         local imageWrapper = html:tag('div'):addClass('image-wrapper')
         local imageWrapper = html:tag('div'):addClass('image-wrapper')

Revision as of 02:37, 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 imageList = mw.text.split(images, ',')
    local textList = mw.text.split(texts, ',')

    local html = mw.html.create('div'):addClass('image-grid-container')

    for i = 1, math.max(#imageList, #textList) do
        local image = mw.text.trim(imageList[i] or 'Noimg.png') 
        local text = mw.text.trim(textList[i] or '') 

        local imageWrapper = html:tag('div'):addClass('image-wrapper')

        imageWrapper:wikitext(string.format('[[File:%s|200px]]', image))

        if text ~= '' then
            imageWrapper:tag('div'):addClass('image-text'):wikitext(text)
        end
    end

    return tostring(html)
end

return p