Module:Coxeter–Dynkin diagram/sandbox

-- module to turn a parameter list into a list of Coxeter–Dynkin diagram images. -- See the template documentation or any example for how it is used and works. local p = {}

-- list of file names (minus 'CDel ' and extension) which are available as an -- SVG version which must be perfectly compatible in appearance and public domain. -- Uses spaces not underscores. local has_svg = {'nodes', 'node h', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11',	'label2'}

function show_image(x, double) local suffix = "|link=]]" if double then suffix = "|x46px|link=]]" end for i, svgfile in ipairs(has_svg) do		if svgfile == string.gsub(x, '_', ' ') then return "[[File:CDel_" .. x .. ".svg" .. suffix		end	end	return "[[File:CDel_" .. x .. ".png" .. suffix end

function p.CDD(frame) -- For calling from #invoke. local pframe = frame:getParent local args = pframe.args return p._CDD(args) end function p._CDD(args) -- For calling from other Lua modules. local body =' '        -- create and start the output string local double = false                                      -- experimental only, scale to 2x and see what happens for v, x in ipairs(args) do                               -- process params, ignoring any names if (x == 'DOUBLE') then double = true elseif (x ~= '') then						-- check for null/empty names body = body .. show_image(x, double)   -- write file for this parameter end end body = body .. " "                                  -- finish output string return body                                               -- return result end

return p