Zum Inhalt springen

„Modul:Infobox“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 6: Zeile 6:
local index = {}
local index = {}
local i = 0
local i = 0
for datum = 1, 50 do i = i + 1
for datum = 1, 80 do i = i + 1
if args['name'..i] or args['erste'..i] or args['unter'..i] or args['datei'..i] then table.insert(index, i) end
if args['name'..i] or args['zweite'..i] or args['unter'..i] or args['datei'..i] or args['zeile'..i] then table.insert(index, i) end
if args['dritte'..i] then dritte = true end
if args['dritte'..i] then dritte = true end
if args['vierte'..i] then vierte = true end
if args['vierte'..i] then vierte = true end
end
end
cspan = vierte and 4 or dritte and 3 or 2
local root = mw.html.create('table'):addClass('infobox box')
local root = mw.html.create('table'):addClass('infobox box')
Zeile 22: Zeile 23:
:css('min-width', '20em')
:css('min-width', '20em')
:css('font-size', '106%')
:css('font-size', '106%')
:attr('colspan', vierte and 4 or dritte and 3 or 2)
:attr('colspan', cspan)


row = root:tag('tr')
row = root:tag('tr')
Zeile 28: Zeile 29:
for k, v in pairs(index) do
for k, v in pairs(index) do
row = root:tag('tr')
row = root:tag('tr')
if args['name'..v] or args['zweite'..v] or args['unter'..v] or args['datei'..v] then
if args['name'..v] or args['zweite'..v] or args['unter'..v] or args['datei'..v] or args['zeile'..v] then
if args['unter'..v] then
if args['unter'..v] then
row:tag('td')
row:tag('td')
:wikitext(args['unter'..v])
:wikitext(args['unter'..v])
:css('font-weight', 'bold')
:css('font-weight', 'bold')
:css('text-align', args['center'])
:css('text-align', 'center')
:css('background-color', '#EBEBFF')
:css('background-color', '#EBEBFF')
:attr('colspan', dritte and 3 or 2)
:attr('colspan', cspan)
elseif args['datei'..v] then
elseif args['datei'..v] or args['zeile'..v] then
row:tag('td')
row:tag('td')
:wikitext(args['datei'..v])
:wikitext(args['datei'..v] or args['zeile'..v])
:css('text-align', args['align'] or 'center')
:css('text-align', args['datei'..v] and 'center' or 'left')
:css('background-color', '#F8F9FA')
:css('background-color', '#F8F9FA')
:attr('colspan', dritte and 3 or 2)
:attr('colspan', cspan)
elseif args['name'..v] then
elseif args['name'..v] then
row:tag('td')
row:tag('td')
Zeile 57: Zeile 58:
row:tag('td')
row:tag('td')
:wikitext(args['zweite'..v])
:wikitext(args['zweite'..v])
:css('text-align', args['align'] or 'left')
:css('text-align', 'center')
row:tag('td')
row:tag('td')
:wikitext(args['dritte'..v])
:wikitext(args['dritte'..v])
:css('text-align', args['align'] or 'left')
:css('text-align', 'center')
if args['vierte'..v] then
if args['vierte'..v] then
row:tag('td')
row:tag('td')
:wikitext(args['vierte'..v])
:wikitext(args['vierte'..v])
:css('text-align', args['align'] or 'left')
:css('text-align', 'center')
end
end
else
else

Aktuelle Version vom 12. März 2025, 22:06 Uhr

Die Dokumentation für dieses Modul kann unter Modul:Infobox/Doku erstellt werden

local p = {}
local getArgs = require('Modul:Arguments').getArgs

function p.tab(frame)
	local args = getArgs(frame)
	local index = {}
	local i = 0
	for datum = 1, 80 do i = i + 1
		if args['name'..i] or args['zweite'..i] or args['unter'..i] or args['datei'..i] or args['zeile'..i] then table.insert(index, i) end
		if args['dritte'..i] then dritte = true end
		if args['vierte'..i] then vierte = true end
	end
	cspan = vierte and 4 or dritte and 3 or 2
	
	local root = mw.html.create('table'):addClass('infobox box')
	row = root:tag('tr')
	
	row:tag('td')
		:wikitext(args['titel'] or 'Titel')
		:css('background-color', '#CCF')
		:css('text-align', 'center')
		:css('font-weight', 'bold')
		:css('min-width', '20em')
		:css('font-size', '106%')
		:attr('colspan', cspan)	

	row = root:tag('tr')
		
	for k, v in pairs(index) do
		row = root:tag('tr')
		if args['name'..v] or args['zweite'..v] or args['unter'..v] or args['datei'..v] or args['zeile'..v] then
			if args['unter'..v] then
				row:tag('td')
					:wikitext(args['unter'..v])
					:css('font-weight', 'bold')
					:css('text-align', 'center')
					:css('background-color', '#EBEBFF')
					:attr('colspan', cspan)
			elseif args['datei'..v] or args['zeile'..v] then
				row:tag('td')
					:wikitext(args['datei'..v] or args['zeile'..v])
					:css('text-align', args['datei'..v] and 'center' or 'left')
					:css('background-color', '#F8F9FA')
					:attr('colspan', cspan)
			elseif args['name'..v] then
				row:tag('td')
					:wikitext(args['name'..v])
					:css('font-weight', 'bold')
					:css('background-color', '#F2F2F4')
			else
				row:tag('td')
					:css('background-color', '#F8F9FA')				
			end
		end
		if args['zweite'..v] then
			if dritte then
				if args['dritte'..v] then
					row:tag('td')
						:wikitext(args['zweite'..v])
						:css('text-align', 'center')
					row:tag('td')
						:wikitext(args['dritte'..v])
						:css('text-align', 'center')						
					if args['vierte'..v] then
						row:tag('td')
							:wikitext(args['vierte'..v])
							:css('text-align', 'center')
					end
				else
					row:tag('td')
						:wikitext(args['zweite'..v])
						:attr('colspan', vierte and 3 or 2)
				end
			else
				row:tag('td')
					:wikitext(args['zweite'..v])
				end
			end
		end
	return root
end

return p