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

Module:Carousel

From Landrace.Wiki - The Landrace Cannabis Wiki

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