Modul:Attribut/Work: Unterschied zwischen den Versionen
Aus FürthWiki
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| Zeile 39: | Zeile 39: | ||
local attr = a.attr | local attr = a.attr | ||
local val = a.val | local val = a.val | ||
-- Sonderbehandlung Beruf | |||
if attr == "Beruf" then | if attr == "Beruf" then | ||
table.insert(line, ber.berufePageLinkListe(val, ",")) | table.insert(line, ber.berufePageLinkListe(val, ",")) | ||
-- Sonderbehandlung Datum | |||
elseif attr == "Geburtsdatum" or attr == "Todesdatum" then | elseif attr == "Geburtsdatum" or attr == "Todesdatum" then | ||
val = lfd.formatDate(val) | val = lfd.formatDate(val) | ||
| Zeile 50: | Zeile 52: | ||
table.insert(line, val) | table.insert(line, val) | ||
end | end | ||
elseif attr == "GeburtsdatumISO" or attr == "TodesdatumISO" then | elseif attr == "GeburtsdatumISO" or attr == "TodesdatumISO" then -- ignorieren (leer) | ||
-- alle sonstigen Standard-Attribute | |||
else | else | ||
table.insert(line, val) | table.insert(line, val) | ||
Version vom 13. Januar 2026, 15:43 Uhr
Die Dokumentation für dieses Modul kann unter Modul:Attribut/Work/Doku erstellt werden
local p = {}
local str = require("Modul:String")
local htm = require("Modul:HTML/Work")
local wor = require("Modul:Wörterbuch")
local lfd = require("Modul:LinkFormDatum")
local ber = require("Modul:Beruf")
function p.TableHeader(frame)
-- Kommandozeile zum Debuggen:
-- =p.TableHeader{args={"Beruf", "AbweichendeNamensform"}}
local args = {}
local klasse = frame.args["Klasse"]
for i, a in ipairs(frame.args) do
args[i] = wor.attrText(a, klasse)
end
return htm.tableHeader(args)
end
function p.TableLine(frame)
-- mw.log("TableLine(frame)")
-- mw.logObject(frame.args, "frame.args")
-- Kommandozeile zum Debuggen:
-- =p.TableLine{args={"Test","Test2=Test3","Beruf=Politiker","Geburtsdatum=1. Januar 2024","Todesdatum=2025","TodesdatumISO=2025-03-04"}}
local args = {}
-- Argumente-Liste vorauswerten
for _, a in ipairs(frame.args) do
local equal = string.find(a, "=") or 0
local attr = str.strip(string.sub(a, 1, math.max(equal - 1, 0)))
local val = str.strip(string.sub(a, equal + 1))
table.insert(args, {attr = attr, val = val})
if attr ~= "" then
args[attr] = val
end
end
-- Zeile zusammenbauen
local line = {}
for _, a in ipairs(args) do
local attr = a.attr
local val = a.val
-- Sonderbehandlung Beruf
if attr == "Beruf" then
table.insert(line, ber.berufePageLinkListe(val, ","))
-- Sonderbehandlung Datum
elseif attr == "Geburtsdatum" or attr == "Todesdatum" then
val = lfd.formatDate(val)
local dateISO = args[attr .. "ISO"]
if dateISO ~= nil then
table.insert(line,
{val, td_args = "data-sort-value=\"" .. dateISO .. "\""})
else
table.insert(line, val)
end
elseif attr == "GeburtsdatumISO" or attr == "TodesdatumISO" then -- ignorieren (leer)
-- alle sonstigen Standard-Attribute
else
table.insert(line, val)
end
end
local t = htm.tableLine(line)
-- mw.logObject(t, "t")
return t
end
return p