Module:Coxeter–Dynkin diagram

From IxWiki
Revision as of 18:02, 10 August 2020 by Heku (talk | contribs) (1 revision imported)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

This module implements Template:Coxeter–Dynkin diagram. It is invoked as

  • {{#invoke:Coxeter–Dynkin diagram|CDD}}

though the parameter is ignored; instead it uses the parameters passed to the template. See the template documentation for how that is used.

For using this from other Lua modules, first load the module.

local CDD = require('Module:Coxeter–Dynkin diagram')._CDD

You can then use it with the following syntax.

CDD{"node", "3", "node"}

See the template documentation for possible inputs.


-- 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 = {}

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 ='<span style="display:inline-block;">'         -- create and start the output string
	for v, x in ipairs(args) do                                -- process params, ignoring any names
		if (x ~= '') then					-- check for null/empty names
        		body = body .. "[[File:CDel_" .. x .. ".png|link=]]"   -- write file for this parameter
		end
	end
	body = body .. "</span>"                                   -- finish output string
	return body                                                -- return result
end

return p