From Wikipedia, the free encyclopedia

require('strict')



local p = {}



local cells = mw.loadData('Module:Tree chart/data/sandbox')



function p._main(cell_args)

	local ret = mw.html.create()

	local top = ret:tag('tr')

						:css{ height = '1px',

								'text-align' = 'center' }

	local bottom = ret:tag('tr')

						:css{ height = '1px',

								'text-align' = 'center' }

	for _, v in ipairs(cell_args) do

		if type(v) == 'string' then

			top:wikitext(cellsv].t)

			bottom:wikitext(cellsv].b)

		else

			top:tag('td')

				:attr{ colspan = v.colspan or cell_args.colspan or 6,

						rowspan = v.rowspan or cell_args.rowspan or 2 }

				:css{ padding = '0.2em',

						border = (v.border or cell_args.border or '2') .. 'px solid' }

				:cssText(v.boxstyle or cell_args.boxstyle)

				:wikitext(v.text)

		end

	end

	return tostring(ret)

end



function p.main(frame)

	local args = require('Module:Arguments').getArgs(frame, {wrappers = 'Template:Tree chart', trim = false, removeBlanks = false})

	local cell_args = {

		colspan = args.colspan,

		rowspan = args.rowspan,

		border = args.border,

		boxstyle = args.boxstyle

	}

	for _, val in ipairs(args) do

		local trimmedVal = val:match('^%s*(.-)%s*$')

		if trimmedVal == '' then

			trimmedVal = '$'

		end

		if cellstrimmedVal then

			table.insert(cell_args, trimmedVal)

		else

			-- Unnamed params behave weirdly

			-- white space at the front counts for param_{{{1}}}, but not whitespace at the end, so remove it

			local rightTrimmedVal = val:gsub('%s+$','')

			table.insert(cell_args, {

				text = argstrimmedVal or ('{{{'..trimmedVal..'}}}'),

				colspan = args'colspan_'..rightTrimmedVal],

				rowspan = args'rowspan_'..rightTrimmedVal],

				border = args'border_'..rightTrimmedVal],

				boxstyle = args'boxstyle_'..rightTrimmedVal

			})

		end

	end

	

	return p._main(cell_args)

end



return p
From Wikipedia, the free encyclopedia

require('strict')



local p = {}



local cells = mw.loadData('Module:Tree chart/data/sandbox')



function p._main(cell_args)

	local ret = mw.html.create()

	local top = ret:tag('tr')

						:css{ height = '1px',

								'text-align' = 'center' }

	local bottom = ret:tag('tr')

						:css{ height = '1px',

								'text-align' = 'center' }

	for _, v in ipairs(cell_args) do

		if type(v) == 'string' then

			top:wikitext(cellsv].t)

			bottom:wikitext(cellsv].b)

		else

			top:tag('td')

				:attr{ colspan = v.colspan or cell_args.colspan or 6,

						rowspan = v.rowspan or cell_args.rowspan or 2 }

				:css{ padding = '0.2em',

						border = (v.border or cell_args.border or '2') .. 'px solid' }

				:cssText(v.boxstyle or cell_args.boxstyle)

				:wikitext(v.text)

		end

	end

	return tostring(ret)

end



function p.main(frame)

	local args = require('Module:Arguments').getArgs(frame, {wrappers = 'Template:Tree chart', trim = false, removeBlanks = false})

	local cell_args = {

		colspan = args.colspan,

		rowspan = args.rowspan,

		border = args.border,

		boxstyle = args.boxstyle

	}

	for _, val in ipairs(args) do

		local trimmedVal = val:match('^%s*(.-)%s*$')

		if trimmedVal == '' then

			trimmedVal = '$'

		end

		if cellstrimmedVal then

			table.insert(cell_args, trimmedVal)

		else

			-- Unnamed params behave weirdly

			-- white space at the front counts for param_{{{1}}}, but not whitespace at the end, so remove it

			local rightTrimmedVal = val:gsub('%s+$','')

			table.insert(cell_args, {

				text = argstrimmedVal or ('{{{'..trimmedVal..'}}}'),

				colspan = args'colspan_'..rightTrimmedVal],

				rowspan = args'rowspan_'..rightTrimmedVal],

				border = args'border_'..rightTrimmedVal],

				boxstyle = args'boxstyle_'..rightTrimmedVal

			})

		end

	end

	

	return p._main(cell_args)

end



return p

Videos

Youtube | Vimeo | Bing

Websites

Google | Yahoo | Bing

Encyclopedia

Google | Yahoo | Bing

Facebook