For faster navigation, this Iframe is preloading the Wikiwand page for Modulo:Informkesto.

Modulo:Informkesto

Dokumentado Dokumentado


Ŝablona programado Diskutoj Lua Testoj Subpaĝoj
Modulo Esperanto English

Modulo: Dokumentado


Ĉi tiu modulo estas taksata kiel pre-alfa. Ĝi estas nefinita, kaj povas aŭ ne povas esti en aktiva evoluado. Ĝi ne estu uzata en la artikola nomspaco. Moduloj restas pre-alfa ĝis la origina redaktanto (aŭ iu kiu transprenis tion se ĝi estas forlasita dum iom da tempo) estas kontenta kun la baza strukturo.
Ĉi tiu artikolo estas redaktata de Tlustulimu. Por eviti la riskon de redaktokonflikto, ne redaktu la artikolon. Kontrolu la kronologion kaj forigu la ŝablonon, se necese.


Se vi havas demandon pri ĉi tiu Lua-modulo, tiam vi povas demandi en la diskutejo pri Lua-moduloj. La Intervikiaj ligiloj estu metataj al Vikidatumoj. (Vidu Helpopaĝon pri tio.)
-- 2024-06-08
-- Jen modulo por krei informkestojn aŭ/kaj informkestajn partojn
-- Atentu, ke la plej multaj funkcioj ankoraŭ ne estis testitaj!

-- importu modulojn
local bildoj = require ("Modulo:InfoboxImage")
local kontrasto = require ("Modulo:Color contrast")
local wikidata = require ("Modulo:Wikidata")

local p = {}

-- tabelliniaj funkcioj

-- tabela kaplinio
-- titolo - teksto por la titola linio
-- fono - fona koloro 
-- v - varianto
-- wd - ĉu Vikidatuma ero?
function p.tabelkapo(titolo, fono, v, wd, klaso)

	if v == "caption" then
		-- por la html-etikedo "caption"	
		local colspan ='2'
		local tabelkapo = mw.html.create('caption')
			:attr({colspan = colspan})
			:css(style)
			:wikitext(text)
			:done()		
		return tostring(tabelkapo)	
	else
		-- por la html-etikedoj "tr" kaj "th"
		-- kaplinio	
		if klaso ~= "" and klaso ~= nil and type(klaso) == "string" then
			klaso = "kaplinio mapo" .. klaso
		else
			klaso = "kaplinio mapo"
		end
		if wd == "jes" then
			klaso = klaso .. " wikidata-content"
		end
		local tabelkapo = mw.html.create('tr')
		-- kaplinia ĉelo
		local kapchelo = tabelkapo:tag('th')	
			:addClass(klaso)
			:attr('colspan','2')
			:css('color','#000')							
			:css('background-color',fono)
			:css('text-align','center')
			:wikitext(titolo)
			:done()
			:newline()	
		return tostring(tabelkapo)	
	end
end	


-- tabela subtitilo
function p.tabelsubtitolo(titolo, fono)
	if titolo == nil then
		titolo = ""
	end

	local subtitolo1 = mw.html.create('tr')
	if fono ~= "" and fono ~= nil then
		local titol1chelo = subtitolo1:tag('th')
			:css('background-color', fono)
			:css('border-top','1px solid ' .. fono)
			:css('border-bottom','1px solid ' .. fono)			
			:css('text-align','center')
			:attr('colspan','2')
			:wikitext(titolo)
			:done()
			:newline()	
		return tostring(subtitolo1)	
	else	
		local titol1chelo = subtitolo1:tag('th')
			:css('text-align','center')
			:attr('colspan','2')
			:wikitext(titolo)
			:done()
			:newline()
		return tostring(subtitolo1)				
	end
end	

-- bilda ĉelo por unuopa bildo
function p.unuopabildo(bildo, wd)
		if bildo == nil then
			bildo = ""
		end
		if wd == "jes" then
			wd = "wikidata-content"	
		else
			wd = ""
		end		
			local bildo1 = mw.html.create("tr")
			local bildchelo = bildo1:tag("td")
				:addClass(wd)
				:attr('colspan','2')
				:css('font-size','smaller')
				:css('text-align','center')
				:wikitext(bildo)		
			return tostring(bildo1)
end	

-- bilda ĉelo por duopa bildo
function p.duopajbildoj(bildo1, bildo2, priskribo1, priskribo2, wd, wd2)
		if bildo1 == nil then
			bildo1 = ""
		end
		if bildo2 == nil then
			bildo2 = ""
		end		
		local tabelo = mw.html.create('')
		local bildoj = tabelo:tag("tr")
		local klaso1 = ""
		local klaso2 = ""
		if wd == 1 or wd == 2 then
			klaso1 = "wikidata-content"
		end	
			local bildchelo = bildoj:tag("td")
				:addClass(klaso1)
				:css('font-size','smaller')
				:css('text-align','center')
				:wikitext(bildo1)			

		if	wd2 == 1 or wd2 == 2 then
			klaso2 = "wikidata-content"
		end	
			local bildchelo = bildoj:tag("td")
				:addClass(klaso2)			
				:css('font-size','smaller')
				:css('text-align','center')
				:wikitext(bildo2)		

		if (priskribo1 ~= "" and priskribo1 ~= nil) or (priskribo2 ~= "" and priskribo2 ~= nil) then
			local priskriboj = tabelo:tag("tr")
			if priskribo1 == nil then
				priskribo1 = ""
			end
			if wd == 2 then
				klaso1 = "wikidata-content"
			else
				klaso1 = ""
			end	
				local priskribochelo = priskriboj:tag("td")
					:addClass(klaso1)					
					:css('font-size','smaller')
					:css('text-align','center')
					:wikitext(priskribo1)			

			if priskribo2 == nil then
				priskribo2 = ""
			end
			if wd2 == 2 then
				klaso2 = "wikidata-content"
			else
				klaso2 = ""
			end	
				local priskribochelo = priskriboj:tag("td")
					:addClass(klaso2)					
					:css('font-size','smaller')
					:css('text-align','center')
					:wikitext(priskribo2)			
			return tostring(tabelo)
		end
			return tostring(tabelo)
end	


-- helpaj funkcioj sen ŝablonoj
-- c1 - enhavo de ĉelo 1
-- c2 - enhavo de ĉelo 2
-- wd - ĉu datoj el Vikidatuma ero
function p.aldonulinion (c1, c2, wd, v)
		--local tabellinio = mw.html.create("tr")
		local tabellinio = mw.html.create('tr')
		local etikedo = "th"
		if v == "td"  then
			etikedo = v
		end	
			local chelo1 = tabellinio:tag(etikedo)
				:css('text-align','left')
				:wikitext(c1)
				:done()			

		if wd == "jes"	 then
			wd = "wikidata-content"
		else
			wd = ""
		end	
			local chelo2 = tabellinio:tag('td')	
				:addClass(wd)
				:wikitext(c2) 
				:done()
				:newline()			
		return tostring(tabellinio)
end	

function p.linivarianto(c1,c2,wd)
			if c1 ~= "" and c1 ~= nil and c2 ~= "" and c2 ~= nil then
	
				if mw.ustring.sub(c1,1,3) == " - " then
					--wd estos aranĝata poste
					aldonulinion(c1,c2,wd,"td")							
				else							
					aldonulinion(c1,c2,wd)							
				end
			end	
end	


-- unuopa ĉelo
-- c - enhavo de la ĉelo
-- v - varianto de ĉelo
-- wd - ĉu datoj el Vikidatuma ero
function p.aldonuchelon (c, v, wd)
		local t = ""
		if v == "titolo" then			
			t = "th"
		else
			t = "td"
		end
		local tabellinio = mw.html.create('tr')
		if wd == "jes"	 then
			wd = "wikidata-content"
		else
			wd = ""
		end	
			local chelo = tabellinio:tag(t)	
				:addClass(wd)
				:attr('colspan','2')
				:css('text-align','center')				
				:wikitext(c) 
				:done()
				:newline()			
		return tostring(tabellinio)
end	

-- helpa funkcio por redono de kolorkodoj
local function koloroj (kodo)
			local frame = mw.getCurrentFrame()
			local n = frame:expandTemplate {
				title="Informkesto/koloro",
				args ={
					kodo
				}
			}
			return n
end	

-- helpa funkcio por rigardo en tekstoĉenon
local function lin_mald (teksto, longo)
			local frame = mw.getCurrentFrame()
			local n = frame:expandTemplate {
				title="Lin mald",
				args ={
					teksto, longo
				}
			}
			return n
end	

-- helpa funkcio por rigardo en tekstoĉenon
local function lin_serchi (teksto, longo)
			local frame = mw.getCurrentFrame()
			local n = frame:expandTemplate {
				title="Lin serĉi",
				args ={
					teksto, longo
				}
			}
			return n
end	

-- helpa funkcio por rigardo en tekstoĉenon
local function lin_sub (teksto, komenco, longo)
			local frame = mw.getCurrentFrame()
			local n = frame:expandTemplate {
				title="Lin sub",
				args ={
					teksto, komenco, longo
				}
			}
			return n
end


-- helpa funkcio por kontrasto
local function kolorkontrasta_rilatumo (teksto, fono)
			local frame = mw.getCurrentFrame()
			local n = frame:expandTemplate {
				title="Kolorkontrasta rilatumo",
				args ={
					teksto, fono
				}
			}
			return n
end


-- helpa funkcio por la fonaj kaj malfonaj koloroj
local function fono_malfono(koloro, fono, malfono, kruda)
			teksto = ""	
			if koloro ~= "" and koloro ~= nil and (fono == "" or fono == nil) then
				local testo = lin_mald(koloro,17)
				if testo == "background-color:" then 
					return koloro
				else
					testo = lin_mald(koloro,5)
					local testo2 = lin_mald(koloro,1)
					if (testo == "#" or testo2 == "#") and kruda ~= "jes" then    
						teksto = teksto .. ' background-color:' .. koloro .. '; '
						return teksto
					elseif (testo == "#" or testo2 == "#") and kruda == "jes" then	
						teksto = teksto .. ' ' .. koloro .. '; '
						return teksto						
					end
				end
				local k = koloroj(koloro)
				if k ~= "" and k ~= nil  and kruda ~= "jes" then
					teksto = teksto .. ' background-color:' .. k .. '; '
				elseif k ~= "" and k ~= nil  and kruda == "jes" then	
					teksto = teksto .. ' ' .. k .. '; '					
				end	
				if koloro == "13" and (malfono == "" or malfono == nil) then
					teksto = teksto .. ' color:white; '
				end
			else
				if fono ~= "" and fono ~= nil then
					local testo = lin_mald(fono,17)
					if testo == "background-color:" then 
						local p = lin_sub(fono,17)
						local testo2 = lin_serchi(p,"color:")
						if testo2 ~= "-1" then
							malfono = ""
						end
						teksto = teksto .. fono
					else
						teksto = teksto .. ' background-color:' .. fono .. '; '						
					end					
				end
				if malfono ~= "" and malfono ~= nil then
					if fono ~= "" and fono ~= nil then
						local testo = kolorkontrasta_rilatumo(malfono,fono)
						if testo == "?" then
							malfono = "black"
						end
					end
					teksto = teksto .. ' color:' .. malfono .. '; '
				end				
			end	
			return teksto
end	


-- alvoko de ((ŝanĝu ŝablonon))
local function changetemplate (shablono,fono,malfono,klaso,stiloj,tekstokoloro)
			local frame = mw.getCurrentFrame()
			local n = frame:expandTemplate {
				title="ŝanĝu ŝablonon",
				args = {
				["ŝablono"] = shablono,
				fonkoloro = fono,
				tekstokoloro = malfono,
				klaso = klaso,
				stiloj = stiloj,
				tekstokoloro = tekstokoloro
				}
			}
			return n			
end	

-- helpa funkcio pri kolortransdono el ŝablonoj
function kolorilo(koloro)
	local k = "#"
	--local sercho = mw.ustring.find( koloro, k)
	local t = "#"
	local nova = mw.ustring.gsub( koloro, k, t )
	return nova
end	

-- jen piedlinio kun triopo de centraj ligiloj kaj dekstra ligilo kun bildeto
-- fakte estas ((ŝanĝu ŝablonon))
-- c - enhavo de la ĉelo, fakte la nomo de ŝablono, kutime informkesto, al kies paĝo konduku la tri ligiloj
-- koloro1 - fonkoloro de la kestero
-- koloro2 - tekstokoloro
-- klaso - por la interna th/td-etikedo
-- stilo - por la interna div-etikedo
-- bla - rubo el la testoj
-- v - varianto de ĉelo
-- kolumnoj - nombro de kolumnoj, defaŭlte 2
-- klaso2 - por la interna th/td-etikedo, defaŭlte "shangu-shablonon"
-- ligilaro(teksto,"","",klaso,f,f)
function p._ligilaro (c, koloro1, koloro2, koloro3, klaso, stilo, bla, v, kolumnoj, klaso2, linio_alteco, vikidatumo)
		local t = ""
		local k = (klaso or "") .. ' ' .. (klaso2 or "infoboximage")
		local base = mw.title.getCurrentTitle().baseText
		if base ~= "Ŝanĝu ŝablonon" then
			k = "shangu-shablonon " .. k
		end
		-- kutima difino de ŝtopado (angle padding)
		local padding = "0 0.2em 0.2em 0.2em"
		if v == "titolo" then			
			t = "th"
		elseif v == "linio" then
			t = "td"
			-- sub linio la supra ŝtopado estu la sama kiel ĉiuj aliflankaj
			padding = "0.2em"
		elseif v == "taksokesto" then
			t = "td"
			-- en taksokesto (taksonomia informkesto) la supra ŝtopado estu for
			padding = "0"			
		else
			t = "td"
		end
		if stilo == nil then
			stilo = ""
		end	
		-- defaŭlta fonkoloro
		if koloro1 == "" or koloro1 == nil then
			koloro1 = "#ecf9ed" -- "#e0e0e0"
		else
			koloro1 = kolorilo(koloro1)
		end
		-- defaŭlta tekstokoloro
		if koloro2 == "" or koloro2 == nil then
			koloro2 = "black"
		else
			koloro2 = kolorilo(koloro2)			
		end		
		-- defaŭlta kadrokoloro
		if koloro3 == "" or koloro3 == nil then
			koloro3 = "#a2a9b1"
		else
			koloro3 = kolorilo(koloro3)
		end	
		-- se koloroj havas tro malaltan kontraston, korektu la tekstokoloron
		local testo = kolorkontrasta_rilatumo(koloro2,koloro1)
		testo = tonumber(testo)
		if type(testo) == 'number' and testo < 4.5 then
			koloro2 = "white"
		end	
		local k2 = kolumnoj
		local k2testo = tonumber(k2)
		if (k2 == "" or k2 == nil) or type(k2testo) ~= "number" then
			k2 = "2"
		end
		local ligilo = ""
		currentTitle = mw.title.getCurrentTitle()
        local ns   = currentTitle.namespace
        if ns == 0 and vikidatumo == "jes" then
			ligilo = wikidata.pageId({args = {} }) or ""
			if ligilo then
				ligilo = "[[Dosiero:Wikidata-logo.svg|15px|left|link=:d:" .. ligilo .. "]]"
			end
		end
		local tabellinio = mw.html.create('tr')
		local chelo = tabellinio:tag(t)	
				:addClass(k)
				:attr('colspan',k2)
				:css('text-align','center')	
				:css('padding',padding)
				if linio_alteco ~= "" and linio_alteco ~= nil then
					chelo:css('line-height', linio_alteco)
				end
		-- difino de ligilo al rilata projektopaĝo
		local informo = "Projekto:Ŝablonoj"		
		local testo = lin_serchi(c,'Informkesto')
		if testo == "-1" then
			informo = 'Projekto:Ŝablonoj'
		elseif testo == "1"	then
			informo = "Vikipedio:Informkestoj"
		end
		-- ĉirkaŭanta kesto <div> kun dekstre metata bildeto kun ligilo al antaŭe difinita projektopaĝo
		local div = chelo:tag('div')	
				:addClass('noprint toccolours')
				:css('border','2px solid ' .. koloro3)
				:css('padding','5px')
				-- truko pro strangaĵoj en kelkaj helpaj ŝablnoj por fervojlinioj -- 2021-05-04
				local testo = lin_mald(koloro1,17)
				if testo == "background-color:" then 
					-- denove forigi la komencan kodopecon, por ke poste Lua denove aldonu ĝin. kio estas logiko?
					koloro1 = mw.ustring.gsub( koloro1, "background%-color%:", "" )
					div:css('background-color',koloro1)
				else
					div:css('background-color',koloro1)
				end
				div:css('color',koloro2)	
				--:css(stilo)
				if stilo ~= nil and stilo ~= "" then
					div:attr('style',stilo)
				end
				div:css('font-size','xx-small')	
				:css('font-weight','normal')
				--:css('width','97%')	
				if ligilo ~= "" and ligilo ~= nil then
					div:wikitext(ligilo)
				end
				div:wikitext('[[Dosiero:Information_icon.svg|15px|right|link=' .. informo .. ']]')
		-- defaŭltaj tekstoj de la ligiloj
		local vidu = "v"
		local diskutu = "d"
		local redaktu = "r"
		-- traktado de stiloj resp. CSS
		if koloro2 ~= "black" then
			vidu = '<span style="color:' .. koloro2 .. '">' .. vidu .. '</span>'
			diskutu = '<span style="color:' .. koloro2 .. '">' .. diskutu .. '</span>'			
			redaktu = '<span style="color:' .. koloro2 .. '">' .. redaktu .. '</span>'	
		elseif stilo ~= "" then
			vidu = '<span style="' .. stilo .. ';border:0;">' .. vidu .. '</span>'
			diskutu = '<span style="' .. stilo .. ';border:0;">' .. diskutu .. '</span>'			
			redaktu = '<span style="' .. stilo .. ';border:0;">' .. redaktu .. '</span>'			
		end
		-- kodigo de [((fullurl:((ns:10)):(({1))}|action=edit} per Lua. Vidu ankaŭ [[Helpo:Lua/Ligiloj]], kvankam tie temas pri artikola historio.
		local uri = mw.uri.fullUrl( 'Ŝablono:' .. c, "action=edit" )
		local r = string.format( "[%s " .. redaktu .. "]", tostring( uri ) )
		-- kunmetado de la triopa ligilaro en ĉirkaŭanta <span>
		local span = div:tag('span')
				:addClass('noprint plainlinksneverexpand')
				:css('text-align','center')
				:wikitext('[[Ŝablono:'.. c ..'|' .. vidu .. ']]')
				:wikitext(' • ')
				:wikitext('[[Ŝablono-Diskuto:'.. c ..'|' .. diskutu .. ']]')
				:wikitext(' • ')				
				:wikitext(r)
				:done()
		
		return tostring(tabellinio)
end	

-- jen memstare vokebla varianto de la antaŭa funkcio
function p.ligilaro(frame)
	-- This function builds the infobox used by the ((informkesto)) template.
	if not getArgs then
		getArgs = require("Module:Arguments").getArgs
	end
	--local args = getArgs(frame, {wrappers = "Template:Babel"})
	-- post modifo de ((ŝanĝu ŝablonon)) la sekva estos denove ŝanĝenda!
	local args = getArgs(frame, {removeBlanks = false, wrappers = {"Ŝablono:Ŝanĝu ŝablonon/provejo","Ŝablono:Ŝanĝu ŝablonon")))
	-- parametroj
	local c = args["ŝablono"]
	local koloro1 = args["fono"] or args["fonkoloro"]
	local koloro2 = args["malfono"]	or args["tekstokoloro"]
	local koloro3 = args["kadro"] or args["kadrokoloro"]
	local klaso = args["klaso"]
	local klaso2 = args["klaso2"]	
	local stilo = args["stilo"]
	local v = args["v"] or args["varianto"]
	local kolumnoj = args["kolumnoj"] or "2"
	local linio_alteco = args["linio-alteco"]
	local vikidatumo = args["vikidatumoj"]

	if c ~= "" and c ~= nil then
		return p._ligilaro (c, koloro1, koloro2, koloro3, klaso, stilo, bla, v, kolumnoj, klaso2, linio_alteco, vikidatumo)
	else
		return '<span class="error">Vi forgesis difini nomon de ŝablono!</span>'
	end
end	


-- Lua-versio de ((Informkesto))
function p.kesto(frame)
	-- This function builds the infobox used by the ((informkesto)) template.
	if not getArgs then
		getArgs = require("Module:Arguments").getArgs
	end
	--local args = getArgs(frame, {wrappers = "Template:Babel"})
	local args = getArgs(frame, {removeBlanks = false, wrappers = {"Ŝablono:Informkesto/+/provejo","Ŝablono:Informkesto/+")))	
	
	local bildo = args["bildo"]
	local teksto = args["teksto"]
	local etikedo = args["etikedo"]
	local klaso = args["klaso"]
	local klaso2 = args["klaso2"]	
	local mikro = args["mikro"]	
	local fono = args["fono"]
	local malfono = args["malfono"]
	local kadro = args["kadro"] or args["kadrokoloro"]
	local kapkadro = args["kapkadro"] or args["kapkadrokoloro"]	
	local piedkadro = args["piedkadro"] or args["piedkadrokoloro"]	
	local koloro = args["koloro"] or "5"
	local koloro_alt = args["koloro alt"]
	local stilo = args["stilo"] or "1"
	local bildo_grando = args["bildo-grando"]
	local shablononomo = args["ŝablononomo"] or args["ŝablono-nomo"]
	local kolumnoj = args["kolumnoj"]
	local linisalto = args["linisalto"]
	local largho = args["larĝo"] 
	local kesta_klaso = args["kesta klaso"] or ""
	local css_stiloj = args["style"] or args["css-stiloj"] or ""
	local css_stiloj2 = args["style2"] or args["css-stiloj2"] or ""	
	local subshablono = args["subŝablono"]
	-- parametroj por la titola linio
	local titola_koloro = args["titola koloro"] or "6"
	local titola_stilo = args["titola stilo"] or ""
	local titola_klaso = args["titola klaso"] or "io"
	local tekstogrando = args["tekstogrando"] or '150%'
	local subshablona_klaso = args["subŝablona klaso"]
	local teksto_poz = args["tekstopozicio"] or "center"
	if teksto_poz == "" then
		teksto_poz = "center"
	end
	
	local s = ""
	if linisalto == "jes" then
		s = "\n"
	end
	
	local tabelo = ""
	if teksto ~="" and teksto ~= nil and (bildo == "" or bildo == nil) and etikedo~="--tabelo--" and etikedo~="--komenco--" then
		tabelo = s .. "|-"
		if etikedo == "" then
			tabelo = tabelo .. "\n" .. '| colspan="2" style="text-align:' .. teksto_poz .. '"'
			if klaso ~= "" and klaso ~= nil then
				tabelo = tabelo .. ' class="' .. klaso .. '" '
			end
			tabelo = tabelo .. '| ' .. teksto
			return tabelo
		elseif etikedo == "-" or etikedo == "bildo" then
			if klaso ~= "" and klaso ~= nil then
				tabelo = tabelo .. ' class="' .. klaso .. '" '
			end	
			tabelo = tabelo .. "\n"
			tabelo = tabelo .. '! colspan="2" '
			tabelo = tabelo .. 'style="text-align:' .. teksto_poz .. ';'
			local f = fono_malfono(koloro,fono,malfono)
			if f ~= "" and f ~= nil then
				tabelo = tabelo .. f
			else
				if koloro_alt ~= "" and koloro_alt ~= nil then
					tabelo = tabelo .. 'background-color:' .. koloro_alt .. '; '
					local testo = kolorkontrasta_rilatumo('black',koloro_alt)
					testo = tonumber(testo)
					if type(testo) == "number" and testo < 4.5 then
						tabelo = tabelo .. 'color: white;'
					end
				end				
			end
			if kadro ~= "" and kadro ~= nil then
				tabelo = tabelo .. 'border:2px solid ' .. kadro .. '; '
			end
			tabelo = tabelo .. '"' .. '| ' .. teksto
			
			
			return tabelo
		-- aldono kompare al al ĝisnuna ŝablono	((informkesto/+))
		elseif (etikedo == "ŝŝ" or etikedo == "--piedlinio--" or etikedo == "--ligilaro--") and (subshablono == "" or subshablono == nil) then
			local f = fono_malfono(koloro,fono,malfono)
			local shablono = ""
			local linio_alteco = args["linio-alteco"]
			if f ~= "" and f ~= nil then
				-- tabelo = tabelo .. f
				-- shablono = changetemplate(teksto,"","",klaso,f,"inherit !important")
				--shablono = changetemplate(teksto,"","",klaso,f,f)
				shablono = p._ligilaro(teksto,"","",piedkadro,klaso,f,f,"",kolumnoj, klaso2, linio_alteco)
			else
				if koloro_alt ~= "" and koloro_alt ~= nil then
					-- tabelo = tabelo .. 'background-color:' .. koloro_alt .. '; '
					-- shablono = changetemplate(teksto,koloro_alt,"",klaso,"","")	
					shablono = p._ligilaro(teksto,koloro_alt,"",piedkadro,klaso,"","","",kolumnoj, klaso2, linio_alteco)							
				end				
			end
			tabelo = tabelo .. '\n' .. shablono
			return tabelo			
			
		-- aldono kompare al la ĝisnuna ŝablono	((informkesto/+)), normala uzo
		elseif (etikedo == "--kaplinio--" or etikedo == "--titolo--") and (subshablono == "" or subshablono == nil) then
			tabelo = tabelo .. ' style="font-size:110%; text-align:' .. teksto_poz .. '; ' .. css_stiloj .. ' "\n'
			tabelo = tabelo .. '! colspan="2" '
			tabelo = tabelo .. ' style="'
			local tkoloro = koloroj(titola_koloro)
			tabelo = tabelo .. 'background-color:' .. tkoloro .. '; '
			tabelo = tabelo .. 'padding-left:0.5em; padding-right:0.5em;' .. css_stiloj2
			local f = fono_malfono(koloro,fono,malfono)
			if f ~= "" and f ~= nil then
				tabelo = tabelo .. f
			end				
			if kapkadro ~= "" and kapkadro ~= nil then
				tabelo = tabelo .. "border:2px solid " .. kapkadro .. '; ' 
			end
			tabelo = tabelo .. titola_stilo .. '" '
			tabelo = tabelo .. 'class="kaplinio ' .. titola_klaso
			tabelo = tabelo .. '" ' .. '| ' .. teksto			
			
			return tabelo			

		-- aldono kompare al la ĝisnuna ŝablono	((informkesto/+)), subŝablona uzo
		elseif (etikedo == "--kaplinio--" or etikedo == "--titolo--") and subshablono ~= "" and subshablono ~= nil then
			tabelo = tabelo .. '\n! colspan="2" style="text-align:' .. teksto_poz .. '; background-color:'
			if fono ~= "" and fono ~= nil then
				tabelo = tabelo .. fono
			else
				tabelo = tabelo .. '#ddd; '
			end
			if malfono ~= "" and malfono ~= nil then
				tabelo = tabelo .. 'color:' .. malfono .. '; '
			end
			if kapkadro ~= "" and kapkadro ~= nil then
				tabelo = tabelo .. "border:2px solid " .. kapkadro .. '; '
			end			
			tabelo = tabelo .. 'font-size:' .. tekstogrando .. '; '
			tabelo = tabelo .. 'line-height:1.5;" '
			if subshablona_klaso ~= "" and subshablona_klaso ~= nil then
				tabelo = tabelo .. 'class="' .. subshablona_klaso .. '"'
			end
			tabelo = tabelo .. ' | ' .. subshablono
			
			return tabelo
			
		elseif etikedo == "+" then	
			tabelo = tabelo .. 'style="background-color:transparent;"'
			if klaso ~= "" and klaso ~= nil then
				tabelo = tabelo .. ' class="' .. klaso .. '" '
			end	
			tabelo = tabelo .. "\n"
			tabelo = tabelo .. '! colspan="2" '
			tabelo = tabelo .. 'style="text-align: center; '	
			if koloro_alt ~= "" and koloro_alt ~= nil then
				tabelo = tabelo .. 'background-color:' .. koloro_alt .. '; '
			end
			tabelo = tabelo .. '" '
			tabelo = tabelo .. '| \n'
			tabelo = tabelo .. '{| '
			local kl = 'class="'
			if stilo == "2" then 
				kl = kl .. 'toccolours '
			elseif stilo == "3" then	
				kl = kl .. 'prettytable '
			elseif stilo == "" or stilo == nil or stilo == "1" then
				kl = kl .. 'infobox '
			else
				-- ĉe iuj sensencaj valoroj tamen funkciu la defaŭlta "1"
				kl = kl .. 'infobox '
			end
			kl = kl .. 'collapsible collapsed"'
			tabelo = tabelo .. kl
			tabelo = tabelo .. ' width=100%\n'
			tabelo = tabelo .. '|-\n'
			tabelo = tabelo .. '! colspan="2" '
			tabelo = tabelo .. 'style="text-align:' .. teksto_poz .. '; '
			local f = fono_malfono(koloro,fono,malfono)
			if f ~= "" and f ~= nil then
				tabelo = tabelo .. f
			end			
			local truko = '<div style="float:left; width:6em;text-align:left;">&nbsp;</div>'
			tabelo = tabelo .. '"' .. '| ' .. truko .. teksto			
			
			return tabelo
		elseif etikedo == "*" then
			tabelo = tabelo .. '\n|}\n'
			return tabelo	
		elseif etikedo == "nenio" then	
			return ""
		elseif etikedo == "enhavo" then
			tabelo = tabelo .. '\n! colspan="2" style="background-color:transparent;'
			if klaso ~="" and klaso ~= nil then
				tabelo = tabelo .. ' class="' .. klaso .. '" ' 
			end
			tabelo = tabelo .. '| \n' .. teksto
			return tabelo

		elseif etikedo ~= nil then 
			tabelo = tabelo .. '\n!'
			local st = ""
			if stilo == 2 then
				st = ' style="vertical-align:top; '
			end
			if kadro ~= "" and kadro ~= nil and stilo ~= 2 then
				st = st .. ' style="border:2px solid ' .. kadro .. ';" '			
			elseif 	kadro ~= "" and kadro ~= nil and stilo == 2 then
				st = st .. 'border:' .. kadro .. ';" '
			else 
				st = st .. '" '
			end
			tabelo = tabelo .. st
			local k1 = ""
			if klaso ~= "" and klaso ~= nil then
				k1 = ' class="' .. klaso .. '" '
			end		
			tabelo = tabelo .. k1 
			if st ~= "" or k1 ~= "" then
				tabelo = tabelo .. ' | '
			end				
			tabelo = tabelo .. etikedo .. '\n'	
			tabelo = tabelo .. '| ' .. st .. k1
			if st ~= "" or k1 ~= "" then
				tabelo = tabelo .. ' | '
			end
			local m1 = ""
			local m2 = ""			
			if mikro ~= "" and mikro ~= nil then
				m1 = '<span class="' .. mikro .. '">' 
				m2 = '</span>'
			end
			tabelo = tabelo .. m1 .. teksto .. m2
			return tabelo

		end
	elseif bildo ~= "" and bildo ~= nil and etikedo == "bildo" then
			tabelo = s .. "|-"
			tabelo = tabelo .. '\n! colspan="2" style="text-align:' .. teksto_poz .. '; background-color:' 
			if fono ~= "" and fono ~= nil then
				tabelo = tabelo .. fono .. '; '
			else
				tabelo = tabelo .. '#f2f2f4; '
			end
			if klaso ~= "" and klaso ~= nil then
				tabelo = tabelo .. ' class="' .. klaso .. '" ' 				
			end
			tabelo = tabelo .. '|' 
			-- bilda modulo
			local b = bildoj.InfoboxImage({args={image=bildo,size=bildo_grando,sizedefault="120px",sizedefault="frameless",suppressplaceholder="yes",center="yes", alt=teksto} })
			if b ~= nil then
				tabelo = tabelo .. b
			end
			if teksto ~= "" and teksto ~= nil then
				tabelo = tabelo .. '<div>' .. teksto .. '</div>'
			end
			return tabelo
	-- aldono kompare al la ĝisnuna ŝablono	((informkesto/+))
	elseif (etikedo == "--tabelo--" or etikedo == "--komenco--") and (subshablono == "" or subshablono == nil) then
			tabelo = s .. '{| '
			local kl = 'class="'
			if stilo == "2" then 
				kl = kl .. 'toccolours ' .. kesta_klaso
			elseif stilo == "3" then	
				kl = kl .. 'prettytable ' .. kesta_klaso
			elseif stilo == "" or stilo == nil or stilo == "1" then
				kl = kl .. 'infobox ' .. kesta_klaso
			else
				-- ĉe iuj sensencaj valoroj tamen funkciu la defaŭlta "1"
				kl = kl .. 'infobox ' .. kesta_klaso
			end	
			tabelo = tabelo .. kl
			tabelo = tabelo .. '" style="'
			if stilo == "2" or stilo == "3" then
				tabelo = tabelo .. 'float:right; clear:right; margin-left:1em;'
			end
			tabelo = tabelo .. 'font-size:90%;  text-align:left;'
			if css_stiloj ~= "" then
				tabelo = tabelo .. css_stiloj
			end
			if largho ~= "" and largho ~= nil then
				tabelo = tabelo .. 'width:' .. largho .. '\n'
			else	
				tabelo = tabelo .. 'min-width:190px; max-width:260px; width:30%;\n'	
			end
			
			return tabelo
			
	elseif etikedo == "*" and (bildo == "" or bildo == nil) then
			tabelo = tabelo .. '\n|-\n'
			tabelo = tabelo .. '|}'
			return tabelo		
	end	
	
end	

-- Lua-versio de ((Informkesto)). sed fakte uzata de alia modulo per helpo de la ŝablono ((informkesto/+/html))
function p.kesto_html(frame)
	-- This function builds the infobox used by the ((informkesto)) template.
	if not getArgs then
		getArgs = require("Module:Arguments").getArgs
	end
	--local args = getArgs(frame, {wrappers = "Template:Babel"})
	local args = getArgs(frame, {removeBlanks = false, wrappers = {"Ŝablono:Informkesto/+/html","Ŝablono:Informkesto/+")))	
	
	local bildo = args["bildo"]
	local teksto = args["teksto"]
	local etikedo = args["etikedo"]
	local klaso = args["klaso"]
	local klaso2 = args["klaso2"]	
	local mikro = args["mikro"]	
	local fono = args["fono"]
	local malfono = args["malfono"]
	local kadro = args["kadro"] or args["kadrokoloro"]
	local kapkadro = args["kapkadro"] or args["kapkadrokoloro"]	
	local piedkadro = args["piedkadro"] or args["piedkadrokoloro"]	
	local koloro = args["koloro"] or "5"
	local koloro_alt = args["koloro alt"]
	local stilo = args["stilo"] or "1"
	local bildo_grando = args["bildo-grando"]
	local shablononomo = args["ŝablononomo"] or args["ŝablono-nomo"]
	local kolumnoj = args["kolumnoj"]
	local linisalto = args["linisalto"]
	local largho = args["larĝo"] 
	local kesta_klaso = args["kesta klaso"] or ""
	local css_stiloj = args["style"] or args["css-stiloj"] or ""
	local subshablono = args["subŝablono"]
	-- parametroj por la titola linio
	local titola_koloro = args["titola koloro"] or "6"
	local titola_stilo = args["titola stilo"] or ""
	local titola_klaso = args["titola klaso"] or "io"
	local tekstogrando = args["tekstogrando"] or '150%'
	local skribogrando = args["skribogrando"] or '100%'	
	local tiparapezo = args["tipara pezo"] 
	local subshablona_klaso = args["subŝablona klaso"]
	local shtopado = args["ŝtopado"]
	
	local s = ""
	if linisalto == "jes" then
		s = "\n"
	end
	
	local tabelo = ""
	if teksto ~="" and teksto ~= nil and (bildo == "" or bildo == nil) and etikedo~="--tabelo--" and etikedo~="--komenco--" then
		if etikedo == "+" then
			tabelo = s .. "<tr "			
		elseif etikedo == "*" then
			tabelo = s .. "</tr "			
		else
			tabelo = mw.html.create("tr") -- s .. "|-"
			--tabelo = s .. "|-"
		end
		if etikedo == "" then
			local chelo = tabelo:tag("td")
				chelo:attr("colspan","2")
				chelo:css("text-align","center")
			-- tabelo = tabelo .. "\n" .. '| colspan="2" style="text-align:center;"'
			if klaso ~= "" and klaso ~= nil then
				chelo:addClass(klaso)
				-- tabelo = tabelo .. ' class="' .. klaso .. '" '
			end
			chelo:wikitext(teksto)
			--tabelo = tabelo .. '| ' .. teksto
			
			return tostring(tabelo)
		elseif etikedo == "-" or etikedo == "bildo" then
			if klaso ~= "" and klaso ~= nil then
				tabelo:addClass(klaso)
				-- tabelo = tabelo .. ' class="' .. klaso .. '" '
			end	
			-- tabelo = tabelo .. "\n"
			local chelo = tabelo:tag("th")
				chelo:attr("colspan","2")
			-- tabelo = tabelo .. '! colspan="2" '
				chelo:css("text-align","center")
			-- tabelo = tabelo .. 'style="text-align:center; '
			local f = fono_malfono(koloro,fono,malfono)
			if f ~= "" and f ~= nil then
				chelo:attr("style",f)
				chelo:css("text-align","center")				
			--	tabelo = tabelo .. f
			else
				if koloro_alt ~= "" and koloro_alt ~= nil then
					chelo:css("background-color",koloro_alt)
					-- tabelo = tabelo .. 'background-color:' .. koloro_alt .. '; '
					local testo = kolorkontrasta_rilatumo('black',koloro_alt)
					testo = tonumber(testo)
					if type(testo) == "number" and testo < 4.5 then
						chelo:css("color","white")
						--tabelo = tabelo .. 'color: white;'
					end
				end				
			end
			chelo:wikitext(teksto)
			--tabelo = tabelo .. '"' .. '| ' .. teksto
			
			
			return tostring(tabelo)
		-- aldono kompare al al ĝisnuna ŝablono	((informkesto/+))
		elseif (etikedo == "ŝŝ" or etikedo == "--piedlinio--" or etikedo == "--ligilaro--") and (subshablono == "" or subshablono == nil) then
			local f = fono_malfono(koloro,fono,malfono)
			local shablono = ""
			local linio_alteco = args["linio-alteco"]
			if f ~= "" and f ~= nil then
				-- tabelo = tabelo .. f
				-- shablono = changetemplate(teksto,"","",klaso,f,"inherit !important")
				--shablono = changetemplate(teksto,"","",klaso,f,f)
				shablono = p._ligilaro(teksto,"","",piedkadro,klaso,f,f,"",kolumnoj, klaso2, linio_alteco)
			else
				if koloro_alt ~= "" and koloro_alt ~= nil then
					-- tabelo = tabelo .. 'background-color:' .. koloro_alt .. '; '
					-- shablono = changetemplate(teksto,koloro_alt,"",klaso,"","")	
					shablono = p._ligilaro(teksto,koloro_alt,"",piedkadro,klaso,"","","",kolumnoj, klaso2, linio_alteco)							
				end				
			end
			tabelo:wikitext(shablono)
			--tabelo = tabelo .. '\n' .. shablono
			return tostring(tabelo)
			
		-- aldono kompare al la ĝisnuna ŝablono	((informkesto/+)), normala uzo
		elseif (etikedo == "--kaplinio--" or etikedo == "--titolo--") and (subshablono == "" or subshablono == nil) then
			tabelo:css("font-size","110%")
			tabelo:css("text-align","center")
			-- tabelo = tabelo .. ' style="font-size:110%; text-align:center;"\n'
			local chelo = tabelo:tag("th")
				chelo:attr("colspan","2")
			-- tabelo = tabelo .. '! colspan="2" '
			-- tabelo = tabelo .. ' style="'
			local tkoloro = koloroj(titola_koloro)
			chelo:css("background-color",tkoloro)
			-- tabelo = tabelo .. 'background-color:' .. tkoloro .. '; '
			chelo:css("padding-left","0.5em")
			chelo:css("padding-right","0.5em")
			-- tabelo = tabelo .. 'padding-left:0.5em; padding-right:0.5em;'
			local f = fono_malfono(koloro,fono,malfono)
			if f ~= "" and f ~= nil then
			--	tabelo = tabelo .. f
			end				
			if kapkadro ~= "" and kapkadro ~= nil then
				chelo:css('border',kapkadro)
			end
			-- tabelo = tabelo .. titola_stilo .. '" '
			chelo:addClass("kaplinio")
			chelo:addClass(titola_klaso)
			-- tabelo = tabelo .. 'class="kaplinio ' .. titola_klaso
			chelo:wikitext(teksto)
			-- tabelo = tabelo .. '" ' .. '| ' .. teksto			
			
			return tostring(tabelo)

		-- aldono kompare al la ĝisnuna ŝablono	((informkesto/+)), subŝablona uzo
		elseif (etikedo == "--kaplinio--" or etikedo == "--titolo--") and subshablono ~= "" and subshablono ~= nil then
			local chelo = tabelo:tag("th")
				chelo:attr("colspan","2")
				chelo:css("text-align","center")
			-- tabelo = tabelo .. '\n! colspan="2" style="text-align:center; background-color:'
			if fono ~= "" and fono ~= nil then
				chelo:css("background-color",fono)
				-- tabelo = tabelo .. fono
			else
				chelo:css("background-color","#ddd")
				-- tabelo = tabelo .. '#ddd; '
			end
			if malfono ~= "" and malfono ~= nil then
				chelo:css("color",malfono)
				-- tabelo = tabelo .. 'color:' .. malfono .. '; '
			end
			if kapkadro ~= "" and kapkadro ~= nil then
				chelo:css('border',kapkadro)
			end			
			chelo:css("font-size",tekstogrando)
			-- tabelo = tabelo .. 'font-size:' .. tekstogrando .. '; '
			chelo:css("line-height","1.5")
			-- tabelo = tabelo .. 'line-height:1.5;" '
			if subshablona_klaso ~= "" and subshablona_klaso ~= nil then
				chelo:addClass(subshablona_klaso)
				-- tabelo = tabelo .. 'class="' .. subshablona_klaso .. '"'
			end
			tabelo:wikitext(subshablono)
			-- tabelo = tabelo .. ' | ' .. subshablono
			
			return tostring(tabelo)
			
		elseif etikedo == "+" then	
			tabelo = tabelo .. 'style="background-color:transparent;"'
			if klaso ~= "" and klaso ~= nil then
				tabelo = tabelo .. ' class="' .. klaso .. '" '
			end	
			tabelo = tabelo .. ">"
			--tabelo = tabelo .. "\n"
			tabelo = tabelo .. '<th colspan="2" '
			--tabelo = tabelo .. '! colspan="2" '
			tabelo = tabelo .. 'style="text-align:center; '	
			-- por la ŝablono ((informkesto geografiaĵo)), ĉar alie la maldekstra ŝtopado estas pli larĝa ol la dekstra.
			if shtopado ~= "" and shtopado ~= nil then
				tabelo = tabelo .. 'padding: ' .. shtopado .. '; '
			end 
			-- por malaperigi la strangan "grasan tekston" en aliaj informkestoj
			if skribogrando ~= "" and skribogrando ~= nil then
				tabelo = tabelo .. 'font-size: ' .. skribogrando .. '; '
			end
			if tiparapezo ~= "" and tiparapezo ~= nil then
				tabelo = tabelo .. 'font-weight: ' .. tiparapezo .. '; '
			end
			if koloro_alt ~= "" and koloro_alt ~= nil then
				tabelo = tabelo .. 'background-color:' .. koloro_alt .. '; '
			end
			tabelo = tabelo .. '" '
			tabelo = tabelo .. '>'
			--tabelo = tabelo .. '| \n'
			tabelo = tabelo .. '<table '
			-- tabelo = tabelo .. '{| '
			local kl = 'class="'
			if stilo == "2" then 
				kl = kl .. 'toccolours '
			elseif stilo == "3" then	
				kl = kl .. 'prettytable '
			elseif stilo == "" or stilo == nil or stilo == "1" then
				kl = kl .. 'infobox '
			else
				-- ĉe iuj sensencaj valoroj tamen funkciu la defaŭlta "1"
				kl = kl .. 'infobox '
			end
			kl = kl .. 'collapsible collapsed"'
			tabelo = tabelo .. kl
			tabelo = tabelo .. ' width=100% style="padding:0;">'
			--tabelo = tabelo .. ' width=100%\n'
			tabelo = tabelo .. '<tr>'
			--tabelo = tabelo .. '|-\n'
			tabelo = tabelo .. '<th colspan="2" '
			--tabelo = tabelo .. '! colspan="2" '
			tabelo = tabelo .. 'style="text-align:center; '
			local f = fono_malfono(koloro,fono,malfono)
			if f ~= "" and f ~= nil then
				tabelo = tabelo .. f
			end			
			-- por truke ebligi, ke la teksto restas pli malpli centra. alie la ligilo por kaŝado ŝovas ĝin maldekstren.
			local truko = '<div style="float:left; width:6em;text-align:left;">&nbsp;</div>'
			tabelo = tabelo .. '"' .. '> ' .. truko .. teksto
			-- tabelo = tabelo .. '"' .. '| ' .. teksto			
			tabelo = tabelo .. '</th></tr>'
			return tabelo
		elseif etikedo == "*" then
			tabelo = '</table>' .. tabelo .. '>'
			--tabelo = tabelo .. '\n|}\n'
			return tabelo	
		elseif etikedo == "nenio" then	
			return ""
		elseif etikedo == "enhavo" then
			tabelo:attr("colspan","2")
			tabelo:css("background-color","transparent")
			-- tabelo = tabelo .. '\n! colspan="2" style="background-color:transparent;'
			if klaso ~="" and klaso ~= nil then
				tabelo:addClass(klaso)
				--tabelo = tabelo .. ' class="' .. klaso .. '" ' 
			end
			tabelo:wikitext(teksto)
			--tabelo = tabelo .. '| \n' .. teksto
			return tostring(tabelo)

		elseif etikedo ~= nil then 
			local chelo1 = tabelo:tag("th")
			-- tabelo = tabelo .. '\n!'
			local st = ""
			if stilo == 2 then
				chelo1:css("vertical-align","top")
				--st = ' style="vertical-align:top;" '
			end
			if kadro ~= "" and kadro ~= nil then
				chelo1:css("border",kadro)
			end
			-- tabelo = tabelo .. st
			local k1 = ""
			if klaso ~= "" and klaso ~= nil then
				chelo1:addClass(klaso)
				-- k1 = ' class="' .. klaso .. '" '
			end		
			-- tabelo = tabelo .. k1 
			if st ~= "" or k1 ~= "" then
				-- tabelo = tabelo .. ' | '
			end				
			chelo1:wikitext(etikedo)
			-- tabelo = tabelo .. etikedo .. '\n'	
			-- tabelo = tabelo .. '| ' .. st .. k1
			local chelo2 = tabelo:tag("td")
			if st ~= "" or k1 ~= "" then
				-- tabelo = tabelo .. ' | '
			end
			local m1 = ""
			local m2 = ""	
			local span = chelo2:tag("span")			
			if mikro ~= "" and mikro ~= nil then
				span:addClass(mikro)				
				-- m1 = '<span class="' .. mikro .. '">' 
				-- m2 = '</span>'
				span:wikitext(teksto)
			else
				chelo2:wikitext(teksto)
			end

			-- tabelo = tabelo .. m1 .. teksto .. m2
			
			return tostring(tabelo)

		end
	elseif bildo ~= "" and bildo ~= nil and etikedo == "bildo" then
			tabelo = mw.html.create("tr")
			--tabelo = s .. "|-"
			local chelo = tabelo:tag("th")
				chelo:attr("colspan","2")
				chelo:css("text-align","center")
			-- tabelo = tabelo .. '\n! colspan="2" style="text-align:center; background-color:' 
			if fono ~= "" and fono ~= nil then
				chelo:css("background-color",fono)
				-- tabelo = tabelo .. fono .. '; '
			else
				chelo:css("background-color","#f2f2f4")				
				-- tabelo = tabelo .. '#f2f2f4; '
			end
			if klaso ~= "" and klaso ~= nil then
				chelo:addClass(klaso)
				-- tabelo = tabelo .. ' class="' .. klaso .. '" ' 				
			end
			-- tabelo = tabelo .. '|' 
			-- bilda modulo
			local b = bildoj.InfoboxImage({args={image=bildo,size=bildo_grando,sizedefault="120px",sizedefault="frameless",suppressplaceholder="yes",center="yes", alt=teksto} })
			if b ~= nil then
				chelo:wikitext(b)
				-- tabelo = tabelo .. b
			end
			if teksto ~= "" and teksto ~= nil then
				local priskribo = chelo:tag("div")
					priskribo:wikitext(teksto)
				-- tabelo = tabelo .. '<div>' .. teksto .. '</div>'
			end
			return tostring(tabelo)
	-- aldono kompare al la ĝisnuna ŝablono	((informkesto/+))
	elseif (etikedo == "--tabelo--" or etikedo == "--komenco--") and (subshablono == "" or subshablono == nil) then
			tabelo = s .. '{| '
			local kl = 'class="'
			if stilo == "2" then 
				kl = kl .. 'toccolours ' .. kesta_klaso
			elseif stilo == "3" then	
				kl = kl .. 'prettytable ' .. kesta_klaso
			elseif stilo == "" or stilo == nil or stilo == "1" then
				kl = kl .. 'infobox ' .. kesta_klaso
			else
				-- ĉe iuj sensencaj valoroj tamen funkciu la defaŭlta "1"
				kl = kl .. 'infobox ' .. kesta_klaso
			end	
			tabelo = tabelo .. kl
			tabelo = tabelo .. '" style="'
			if stilo == "2" or stilo == "3" then
				tabelo = tabelo .. 'float:right; clear:right; margin-left:1em;'
			end
			tabelo = tabelo .. 'font-size:90%;  text-align:left;'
			if css_stiloj ~= "" then
				tabelo = tabelo .. css_stiloj
			end
			if largho ~= "" and largho ~= nil then
				tabelo = tabelo .. 'width:' .. largho .. '\n'
			else	
				tabelo = tabelo .. 'min-width:190px; max-width:260px; width:30%;\n'	
			end
			
			return tabelo
			
	elseif etikedo == "*" and (bildo == "" or bildo == nil) then
			-- tabelo = tabelo .. '|-\n'
			tabelo = tabelo .. '</table></tr>'
			-- tabelo = tabelo .. '|}'
			return tabelo		
	end	
	
end	

-- por tri koloroj
function p.koloroj(frame)
	-- This function builds the colors for some templates and modules.
	if not getArgs then
		getArgs = require("Module:Arguments").getArgs
	end
	--local args = getArgs(frame, {wrappers = "Template:Babel"})
	local args = getArgs(frame, {wrappers = {"Ŝablono:Informkesto/provejo","Ŝablono:Informkesto","Ŝablono:Informkesto fervojlinio")))	
		local koloro=args['koloro']
		local fono=args['fono']		
		local malfono=args['malfono']
		local kruda=args['kruda']		
		
		return fono_malfono(koloro, fono, malfono, kruda)
end	


return p
{{bottomLinkPreText}} {{bottomLinkText}}
Modulo:Informkesto
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?