Module:Carousel
From Landrace.Wiki - The Landrace Cannabis Wiki
More actions
Documentation for this module may be created at Module:Carousel/doc
local p = {}
function p.render(frame)
local args = frame:getParent().args
-- Collect all numeric parameter keys (skips Ncap, Nalt etc.)
local indices = {}
for k, v in pairs(args) do
local n = tonumber(k)
if n and v and v ~= '' then
table.insert(indices, n)
end
end
table.sort(indices)
local slides = {}
for _, i in ipairs(indices) do
local key = tostring(i)
local file = args[key]
local alt = args[key .. 'alt'] or ''
local cap = args[key .. 'cap']
local slide = '<div class="lw-carousel-slide">[[File:' .. file
.. '|1200px|class=lw-carousel-img|alt=' .. alt .. ']]'
if cap and cap ~= '' then
slide = slide .. '<div class="lw-carousel-caption">' .. cap .. '</div>'
end
slide = slide .. '</div>'
table.insert(slides, slide)
end
return '<div class="lw-carousel">\n<div class="lw-carousel-track" tabindex="0">'
.. table.concat(slides)
.. '</div>\n</div>'
end
return p