Module:Version Bar

From Pizza Tower Scoutdigo Wiki
Jump to navigation Jump to search

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

local p = {}
function p.parse(frame)
	local ids = {}
	local names = {}
	local builtinnames = {["1.1"]="v1.1", ["af"]="April Fools", ["1.2"]="v1.2", ["1.2.1"]="v1.2.1", ["ce2"]="v1.2.2 CE", ["ce3"]="v1.2.3 CE", ["ce4"]="v1.2.4 CE", ["2"]="v2.0"}
	local finalstring = ""
	for v in frame.args[1]:gmatch("%S+") do
		table.insert(ids, v)
	end
	if frame.args[3] ~= nil then
		for v in frame.args[3]:gmatch("[^,]+") do
			local n = v:gsub("^%s*(.-)%s*$", "%1")
			table.insert(names, builtinnames[n] or n)
		end
	end
	for k, v in ipairs(ids) do
		finalstring = finalstring .. '<li '
		if v == frame.args[2] then finalstring = finalstring .. 'class="versionbar-selected" ' end
		finalstring = finalstring .. '>\n<a href="javascript:changeversion("' .. v .. '")">' .. (names[k] or builtinnames[v]) .. "</a>\n</li>"
	end
    return finalstring
end
return p