(Die Seite wurde neu angelegt: „local p = {} function p.splitIntoColumns(frame) local content = frame.args[1] -- Der Inhalt der Aufzählung local threshold = tonumber(frame.args[2]) or 9 -- Schwellenwert für die Anzahl der Elemente, ab dem in Spalten aufgeteilt wird local items = mw.text.split(content, "\n") -- Trennen der Aufzählungselemente nach Zeilenumbrüchen local itemCount = #items if itemCount >= threshold then local columns = math.ceil(itemCount…“) |
Keine Bearbeitungszusammenfassung |
||
Zeile 9: | Zeile 9: | ||
if itemCount >= threshold then | if itemCount >= threshold then | ||
local columns = | local columns = 3 -- Anzahl der Spalten (hier: 3 Spalten) | ||
local columnWidth = 100 / columns -- Breite jeder Spalte in Prozent | local columnWidth = 100 / columns -- Breite jeder Spalte in Prozent | ||
local output = '<div style="columns:' .. columns .. ';">' | local output = '<div style="columns:' .. columns .. ';">' | ||
for i, item in ipairs(items) do | for i, item in ipairs(items) do | ||
if i % columns == 1 then | if i % (itemCount / columns) == 1 then | ||
output = output .. '<div style="width:' .. columnWidth .. '%;">' -- Öffnen einer neuen Spalte | output = output .. '<div style="width:' .. columnWidth .. '%;">' -- Öffnen einer neuen Spalte | ||
end | end | ||
output = output | output = output .. item .. '<br/>' | ||
if i % columns == 0 or i == itemCount then | if i % (itemCount / columns) == 0 or i == itemCount then | ||
output = output .. '</div>' -- Schließen der aktuellen Spalte | output = output .. '</div>' -- Schließen der aktuellen Spalte | ||
end | end |
Version vom 23. September 2023, 13:13 Uhr
Die Dokumentation für dieses Modul kann unter Modul:ListDivider/Doku erstellt werden
local p = {} function p.splitIntoColumns(frame) local content = frame.args[1] -- Der Inhalt der Aufzählung local threshold = tonumber(frame.args[2]) or 9 -- Schwellenwert für die Anzahl der Elemente, ab dem in Spalten aufgeteilt wird local items = mw.text.split(content, "\n") -- Trennen der Aufzählungselemente nach Zeilenumbrüchen local itemCount = #items if itemCount >= threshold then local columns = 3 -- Anzahl der Spalten (hier: 3 Spalten) local columnWidth = 100 / columns -- Breite jeder Spalte in Prozent local output = '<div style="columns:' .. columns .. ';">' for i, item in ipairs(items) do if i % (itemCount / columns) == 1 then output = output .. '<div style="width:' .. columnWidth .. '%;">' -- Öffnen einer neuen Spalte end output = output .. item .. '<br/>' if i % (itemCount / columns) == 0 or i == itemCount then output = output .. '</div>' -- Schließen der aktuellen Spalte end end output = output .. '</div>' return output else return content -- Wenn die Anzahl der Elemente unter dem Schwellenwert liegt, wird der Inhalt unverändert zurückgegeben end end return p