Module:Dynkin

Revision as of 21:23, 15 July 2021 by Zoran (talk | contribs) (Pywikibot 6.4.0)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Template:Module rating This module implements the Dynkin diagram template, Template:Dynkin. It is invoked as

  • {{#invoke:Dynkin|Dynkin}}

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.

<syntaxhighlight lang="lua"> local Dynkin = require('Module:Dynkin')._Dynkin </syntaxhighlight>

You can then use it with the following syntax.

<syntaxhighlight lang="lua"> Dynkin{"node", "3", "node"} </syntaxhighlight>

See the template documentation for possible inputs.


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

function p.Dynkin(frame)
	-- For calling from #invoke.
	local pframe = frame:getParent()
	local args = pframe.args
	return p._Dynkin(args)
end
	
function p._Dynkin(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
		body = body .. "[[File:dyn-" .. x .. ".png|link=]]"    -- write file for this parameter
	end
	body = body .. "</span>"                                   -- finish output string
	return body                                                -- return result
end

return p