模組:CDD
閱讀設定
模組解[開]
你可能想去為呢個Scribunto module開一個解版。 編者可以響呢個模組嘅沙盤 (開 | 鏡)同埋試例 (開)版度試驗佢。 請加個類到個/doc嘅細版度。 呢個模組嘅細版。 |
-- 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 = {}
local origArgs
function p.CDD(frame)
-- For calling from #invoke.
if frame == mw.getCurrentFrame() then
origArgs = frame:getParent().args
else
origArgs = frame
end
local pframe = frame:getParent()
local args = pframe.args
if (origArgs['FileType'] and origArgs['FileType'] ~= '') then
filet=origArgs['FileType']
else
filet="png"
end
if (origArgs['CDDtype'] and origArgs['CDDtype'] ~= '') then
cddt=origArgs['CDDtype']
else
cddt="CDel"
end
return p._CDD_(args,filet,cddt)
end
function p._CDD(args,ft,ct)
return p._CDD_(args,"png","CDel")
end
function p._CDD_(args,ft,ct)
-- For calling from other Lua modules.
local body ='<span style="display:inline-block;">' -- create and start the output string
local filetype = ft
local CDDtype = ct
for v, x in ipairs(args) do -- process params, ignoring any names
pgname="." .. filetype
cpgname=CDDtype .. "_"
if (x ~= '') then -- check for null/empty names
d = tonumber(x)
if (d ~= nil) then
if (d > 20) then
for i = 1,string.len(x) do
tmpstr = string.sub(x,i,i)
if (tonumber(tmpstr) > 3) then
body = body .. "[[File:".. cpgname .. string.sub(x,i,i) .. pgname .. "|link=]]"
else
body = body .. "[[File:".. cpgname .. string.sub(x,i,i) .. "x" .. pgname .. "|link=]]"
end
end
else
body = body .. "[[File:".. cpgname .. x .. pgname .. "|link=]]"
end
else
body = body .. "[[File:".. cpgname .. x .. pgname .. "|link=]]"
end
end
end
body = body .. "</span>" -- finish output string
return body -- return result
end
return p