Documentația acestui modul poate fi creată la Modul:Infobox/doc

-- -- This module implements {{Infobox}} --   local p = {} local getArgs = require('Modul:Arguments').getArgs local args = {}  p.infobox = function(frame) 	local origArgs = getArgs(frame)  	local child = origArgs["child"] or "no" 	local bodyclass = origArgs["bodyclass"] or "infocaseta" 	local antet = origArgs["antet"] or "default" 	local aboveclass = origArgs["aboveclass"] or antet 	local abovestyle = origArgs["abovestyle"] or "" 	local culoare_cadru = origArgs["culoare cadru"] or "F5F5DC" 	local culoare_text = origArgs["culoare text"] or "000000" 	local titlestyle = origArgs["titlestyle"] or "" 	local title = origArgs["title"] or "" 	local above = origArgs["above"] or "" 	 	local out = "" 	 	if child ~= "yes" then 		out = out .. "<table class=\"" .. bodyclass .. "\" cellspacing=\"2\">" 		-- caption 		out = out .. "<tr><td colspan=\"2\" class=\"antet " .. aboveclass .. "\" style=\"background-color:#" .. culoare_cadru .. ";color:#" .. culoare_text .. ";" .. titlestyle .. "\">" .. title .. "</td></tr>" 		-- header 		if above ~= "" then 			local aboveTr = mw.html.create('tr'):tag('td') 				:attr('colspan', '2') 				:addClass(aboveclass) 				:css('text-align', 'center') 				:css('font-size', '125%') 				:css('font-weight', 'bold') 				:cssText(abovestyle) 				:wikitext(above):allDone() 			out = out .. tostring(aboveTr) 		end 	else 		if title ~= "" then 			out = out .. "\'\'\'" .. title .. "\'\'\'" 		end 	end  	--subheaders 	local subheaders = {} 	subheaders[1] = origArgs["subheader"] or origArgs["subheader1"] or "" 	local subhIndex = 2 	while (origArgs["subheader" .. tostring(subhIndex)] or "") ~= "" do 		subheaders[subhIndex] = origArgs["subheader" .. tostring(subhIndex)] or "" 		subhIndex = subhIndex + 1 	end 	local subheaderstyle = origArgs["subheaderstyle"] or "" 	local subheaderclass = origArgs["subheaderclass"] or "" 	for subHeaderIdx = 1,#subheaders do 		if subheaders[subHeaderIdx] ~= "" then 			local subhTr = mw.html.create('tr'):tag('td'):attr('colspan', '2') 				:addClass(subheaderclass) 				:css('text-align', 'center') 				:cssText(subheaderstyle) 				:wikitext(subheaders[subHeaderIdx]):allDone() 			out = out .. tostring(subhTr) 		end 	end 	 	--images 	local images = {} 	local captions = {} 	images[1] = origArgs["image"] or "" 	captions[1] = origArgs["caption"] or "" 	local imgIndex = 2 	while (origArgs["image" .. tostring(imgIndex)] or "") ~= "" do 		images[imgIndex] = origArgs["image" .. tostring(imgIndex)] 		captions[imgIndex] = origArgs["caption" .. tostring(imgIndex)] or "" 		imgIndex = imgIndex + 1 	end 	local imageclass = origArgs["imageclass"] 	local imagestyle = origArgs["imagestyle"] 	local captionstyle = origArgs["captionstyle"] 	for i = 1,#images do 		if images[i] ~= "" then 			local imageRow = mw.html.create('tr') 			local imageTd = imageRow 				:tag('td'):attr('colspan', '2') 					:addClass(imageclass) 					:css('text-align', 'center') 					:cssText(imagestyle) 					:wikitext(images[i]) 			if captions[i] ~= "" then 				imageTd:tag('br') 				imageTd:tag('span'):cssText(captionstyle) 					:wikitext(captions[i]) 			end 			out = out .. tostring(imageRow) 		end 	end 	 	-- rows 	local labelstyle = origArgs["labelstyle"] or "" 	local datastyle = origArgs["datastyle"] or "" 	local headerstyle = origArgs["headerstyle"] or "" 	local elementIndex = 1 	local headers = {} 	local data = {} 	local labels = {} 	local classes = {} 	local styles = {} 	local processingOrder = {}  	for k,v in pairs(origArgs) do 		local headerStart 		local headerEnd 		local labelStart 		local labelEnd 		local dataStart 		local dataEnd 		headerStart, headerEnd = mw.ustring.find(k, "header") 		labelStart, labelEnd = mw.ustring.find(k, "label") 		dataStart, dataEnd = mw.ustring.find(k, "data") 		styleStart, styleEnd = mw.ustring.find(k, "style") 		 		local nr = "" 		if dataStart == 1 then 			nr = mw.ustring.sub(k, 1 + dataEnd, mw.ustring.len(k)) 		elseif labelStart == 1 then 			nr = mw.ustring.sub(k, 1 + labelEnd, mw.ustring.len(k)) 		elseif headerStart == 1 then 			nr = mw.ustring.sub(k, 1 + headerEnd, mw.ustring.len(k)) 		elseif styleStart == 1 then 			nr = mw.ustring.sub(k, 1 + styleEnd, mw.ustring.len(k)) 		end  		if nr ~= "" and processingOrder[nr] == nil and tonumber(nr) ~= nil then 			headers[elementIndex] = origArgs["header" .. nr] or "" 			labels[elementIndex] =  origArgs["label" .. nr] or "" 			data[elementIndex] = origArgs["data" .. nr] or "" 			classes[elementIndex] =  origArgs["class" .. nr] or "" 			styles[elementIndex] = origArgs["style" .. nr] or "" 			processingOrder[tonumber(nr)] = elementIndex 			elementIndex = elementIndex + 1 		end 	end  	local processingElement = 1 	while processingElement <= table.maxn(processingOrder) do 		elementIndex = processingOrder[processingElement] 		if elementIndex ~= nil then 			local crtHeader = headers[elementIndex] 			local crtData = data[elementIndex] 			local crtLabel = labels[elementIndex] 			local crtClass = classes[elementIndex] 			local crtStyle = styles[elementIndex] 			if crtHeader ~= "" then 				local headerTr = mw.html.create('tr') 				local headerTh = headerTr:tag('th') 					:attr('colspan', '2') 					:css('text-align', 'center') 					:css('background-color', '#' .. culoare_cadru) 					:css('color', '#' .. culoare_text) 					:cssText(headerstyle) 					:wikitext(crtHeader) 				out = out .. tostring(headerTr) 			elseif crtLabel ~= "" then 				if crtData ~= "" then 					local dataAndLabelTr = mw.html.create('tr') 						:tag('th'):cssText(labelstyle) 							:wikitext(crtLabel):done() 						:tag('td'):addClass(crtClass) 							:cssText(datastyle):cssText(crtStyle) 							:wikitext(crtData):allDone() 					out = out .. tostring(dataAndLabelTr) 				end 			elseif crtData ~= "" then 				local dataTr = mw.html.create('tr') 					:tag('td'):attr('colspan', '2') 						:addClass(crtClass) 						:css('text-align', 'center') 						:cssText(datastyle) 						:cssText(crtStyle) 						:wikitext(crtData):allDone() 				out = out .. tostring(dataTr) 			end 		end 		processingElement = processingElement + 1 	end 	 	--below 	local belowstyle = origArgs["belowstyle"] or "" 	local below = origArgs["below"] or "" 	if below ~= "" then 		out = out .. "<tr><td colspan=\"2\" style=\"text-align:center; " .. belowstyle .. "\">" .. below .. "</td></tr>" 	end 	 	--tnavbar 	local name = origArgs["name"] or "" 	if name ~= "" then 		local navBarTr = mw.html.create('tr'):tag('td') 			:css('text-align', 'right') 			:attr('colspan', '2') 			:wikitext(mw.getCurrentFrame():expandTemplate{title = "Tnavbar", args = { name }}):done() 		out = out .. tostring(navBarTr) 	end 	if child ~= "yes" then 		local doc = origArgs["doc"] or "" 		if doc ~= "" then 			local infodocTr = mw.html.create('tr'):wikitext(mw.getCurrentFrame():expandTemplate{title = "infodoc", args = {colspan = "2", culoare = culoare_cadru, link = doc }}) 			out = out .. tostring(infodocTr) 		end 		out = out .. "</table>" 	end 	 	return out end  return p