No edit summary
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 7: Line 7:
     local center_class = false
     local center_class = false
     if args["center"] then
     if args["center"] then
         center_class = true
         if tostring(args["center"]):lower() == "true" then
            center_class = true
        end
         args["center"] = nil
         args["center"] = nil
     end
     end
Line 18: Line 20:
     local outer_div_style = string.format(' style="width:%s;"', width)
     local outer_div_style = string.format(' style="width:%s;"', width)


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


     local index = 1
     table.insert(output, string.format('<div class="%s"%s>', classes, outer_div_style))
    while true do
    table.insert(output, '<div class="image-sequence-group">')
        local paramName
        if index == 1 then
            paramName = "image"
        else
            paramName = "image" .. index
        end


        local imageName = args[paramName]
    local images_param = args["images"]
        if not imageName then
    if images_param then
             break
        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
        output = output .. string.format('[[File:%s|%s]]\n', imageName, width)
        index = index + 1
     end
     end


     output = output .. '</div>'
     table.insert(output, '</div></div>')


     return output
     return table.concat(output)
end
end


return p
return p

Latest revision as of 06:10, 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))
    table.insert(output, '<div class="image-sequence-group">')

    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></div>')

    return table.concat(output)
end

return p