No edit summary
No edit summary
Line 25: Line 25:
     local images_param = args["images"]
     local images_param = args["images"]
     if images_param then
     if images_param then
         for filename in string.gmatch(images_param, '([^,]+)') do
         for filename in string.gmatch(images_param, '([^;]+)') do
             filename = filename:gsub("^%s*(.-)%s*$", "%1") -- trim spaces
             filename = filename:gsub("^%s*(.-)%s*$", "%1") -- trim spaces
             table.insert(output, string.format('[[File:%s.png|%s]]', filename, width))
             table.insert(output, string.format('[[File:%s.png|%s]]', filename, width))
Line 32: Line 32:


     table.insert(output, '</div>')
     table.insert(output, '</div>')
     return table.concat(output)
     return table.concat(output)
end
end


return p
return p

Revision as of 06:06, 27 November 2025

Documentation for this module may be created at Module:ImageSequence/doc

local p = {}

function p.render(frame)
    local args = frame:getParent().args
    local width = args["width"] or "200px"

    local center_class = false
    if args["center"] then
        if tostring(args["center"]):lower() == "true" then
            center_class = true
        end
        args["center"] = nil
    end

    local classes = "image-sequence"
    if center_class then
        classes = classes .. " centered"
    end

    local outer_div_style = string.format(' style="width:%s;"', width)

    local output = {}
    table.insert(output, string.format('<div class="%s"%s>', classes, outer_div_style))

    local images_param = args["images"]
    if images_param then
        for filename in string.gmatch(images_param, '([^;]+)') do
            filename = filename:gsub("^%s*(.-)%s*$", "%1") -- trim spaces
            table.insert(output, string.format('[[File:%s.png|%s]]', filename, width))
        end
    end

    table.insert(output, '</div>')
    return table.concat(output)
end

return p