For faster navigation, this Iframe is preloading the Wikiwand page for 模块:CDD.

模块:CDD

文档图示 模块文档[查看] [编辑] [历史] [清除缓存]

本模组是为了要实现考克斯特计号英语Coxeter–Dynkin diagram显示用的((CDD))模板,即Template:CDD的显示所建立的。原始版本之支援最多50个记号,现在则可以引用超过50个记号。

使用方法:

  • ((#invoke:CDD|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:CDD')._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 = {}
local origArgs
local lib_arg={}

function p.CDD(frame)
	-- For calling from #invoke.
    if frame == mw.getCurrentFrame() then
		if lib_arg.getArgs == nil then lib_arg = require('Module:Arguments') end
        origArgs = lib_arg.getArgs(frame, {parentFirst=true}) --frame
    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'] .. (origArgs['delimiter'] or "_")
	else
		cddt="CDel_"
	end
	if (origArgs['Size'] and origArgs['Size'] ~= '') then
		if (origArgs['Size'] ~= '') then
			cddSize=tonumber(origArgs['Size'])
		else
			cddSize=0
		end
	else
		cddSize=0
	end
	return p._CDD_(args,filet,cddt,cddSize,origArgs['css_class'])
end
	
function p._CDD(args)
	return p._CDD_(args,"png","CDel_",0)
end

function p._CDD_(args,ft,ct,dSize,css_class)
	-- For calling from other Lua modules.
	local body ='<span '.. ((css_class~=nil) and ('class="' .. css_class ..'"') or '') 
		..' style="display:inline-block;'..(args.style or '')..'">'         -- create and start the output string

	local filetype = ft
	local CDDtype = ct
	local alt_name = function(name, tail)return mw.ustring.format("|alt=%s%s", name ,tail and '' or '&nbsp;') end
	for v, x in ipairs(args) do                                -- process params, ignoring any names
		pgname="." .. filetype
		cpgname=CDDtype
        lasts = "|link=]]"
        if (dSize > 1) then
        	lasts = "|x" .. dSize .. "px|link=]]"
        end
		if (x ~= '') then -- check for null/empty names
            d = tonumber(x)
            if (d ~= nil) then --is a number
                if (d > 20) then --多位數字拆開來
                	local xlen = string.len(x)
                    for i = 1,xlen do
                        tmpstr = string.sub(x,i,i)
                        if ((tonumber(tmpstr) or 10) > 3) then
                            body = body .. "[[File:".. cpgname .. string.sub(x,i,i) .. pgname
                            	.. alt_name(string.sub(x,i,i), i~=xlen) .. lasts
                        else
                            body = body .. "[[File:".. cpgname .. string.sub(x,i,i) .. "x" .. pgname
                            	.. alt_name(string.sub(x,i,i), i~=xlen) .. lasts
                     	end
                 	end
             	else --單位數字直接顯示
                 	body = body .. "[[File:".. cpgname .. x  .. pgname .. alt_name(x) .. lasts
                end
            elseif mw.text.trim(x) == '' then --一串空白
            	for i = 1,string.len(x) do
            		body = body .. "[[File:CDel_2.png|alt=" .. lasts
            	end
            else --一般字串
             	body = body .. "[[File:".. cpgname .. x  .. pgname .. alt_name(x) .. lasts
         	end
		end
	end
	body = body .. "</span>"                                   -- finish output string
	return body                                                -- return result
end

return p
{{bottomLinkPreText}} {{bottomLinkText}}
模块:CDD
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?