Die Dokumentation für dieses Modul kann unter Modul:RezeptInfobox/Doku erstellt werden
local p = {}
function p.render(frame)
local args = frame.args
local title = args["title"] or "Rezept"
local type = args["type"] or "Speise"
local image = args["image"] ~= "" and args["image"] or p.getDefaultImage(type)
local caption = args["caption"] ~= "" and args["caption"] or nil
local difficulty = tonumber(args["difficulty"]) or 1
local strength = tonumber(args["strength"]) or 1
local categories = args["categories"]
local infobox = {}
-- Infobox-Header
table.insert(infobox, '{| class="infobox"')
table.insert(infobox, '|+ class="infobox-title" | ' .. title)
-- Bild über die gesamte Breite der Infobox
if image then
table.insert(infobox, '|-\n| colspan="2" class="infobox-image" | ' .. image)
if caption then
table.insert(infobox, '|-\n| colspan="2" class="infobox-caption" | ' .. caption)
end
end
-- Schwierigkeitsgrad (Icons variieren je nach Typ)
table.insert(infobox, '|-\n! class="infobox-label" | Schwierigkeitsgrad\n| class="infobox-data" | ' .. (type == "Speise" and p.getChefHatIcons(difficulty) or p.getCocktailGlassIcons(difficulty)))
-- Stärke (Alkoholgehalt) nur für Getränke
if type == "Getränk" then
table.insert(infobox, '|-\n! class="infobox-label" | Stärke\n| class="infobox-data" | ' .. p.getStrengthIcons(strength))
end
-- Hinweise (für alle Rezepttypen)
local hints = p.getHints(args)
if hints ~= "" then
table.insert(infobox, '|-\n! class="infobox-label" | Hinweise\n| class="infobox-data infobox-hints" | ' .. hints)
end
-- Kategorien (in der Infobox anzeigen und als Kategorien setzen)
if categories then
table.insert(infobox, '|-\n! class="infobox-label" | Kategorien\n| class="infobox-data category" | ' .. categories)
table.insert(infobox, p.setCategories(categories))
end
table.insert(infobox, '|}')
return table.concat(infobox, "\n")
end
-- (Weitere Funktionen bleiben unverändert)