Module:Dynkin
This module is rated as ready for general use. It has reached a mature form and is thought to be relatively bug-free and ready for use wherever appropriate. It is ready to mention on help pages and other Wikipedia resources as an option for new users to learn. To reduce server load and bad output, it should be improved by sandbox testing rather than repeated trial-and-error editing. |
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.
local Dynkin = require('Module:Dynkin')._Dynkin
You can then use it with the following syntax.
Dynkin{"node", "3", "node"}
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]]" -- write file for this parameter
end
body = body .. "</span>" -- finish output string
return body -- return result
end
return p