Die Dokumentation für dieses Modul kann unter Modul:LPON/Projekt/Doku erstellt werden
local getArgs = require('Module:Arguments').getArgs
local helper = require('Module:LPON/Helper')
local projekt = {}
function projekt.render(frame)
local args = getArgs(frame)
local output = ""
-- DISPLAYTITLE setzen
if args["Titel"] then
helper.setDisplayTitle({title = args["Titel"]})
end
-- Semantische Daten setzen
if args["Status"] then
helper.setProperty({args = {["LPON:Status"] = args["Status"]}})
end
if args["Spieler"] then
for player in mw.text.gsplit(args["Spieler"], ",") do
helper.setProperty({args = {["LPON:Spieler"] = mw.text.trim(player)}})
end
end
if args["Beschreibung"] then
local truncatedDesc = mw.ustring.sub(args["Beschreibung"], 1, 250)
helper.setProperty({args = {["LPON:Beschreibung"] = truncatedDesc}})
end
-- Infobox
output = output .. string.format([[
<div class="lpnon-infobox">
<strong>Projekt:</strong> %s<br />
<strong>Status:</strong> %s<br />
<strong>Spieler:</strong> %s<br />
</div>
]],
args["Titel"] or mw.title.getCurrentTitle().text,
args["Status"] or "Unbekannt",
args["Spieler"] or "Keine Spieler angegeben")
-- Beschreibung
output = output .. string.format('<div class="lpnon-description">%s</div>', args["Beschreibung"] or "Keine Beschreibung verfügbar.")
-- Mods (optional Subseite oder direkt)
if args["useSubpage"] == "true" then
output = output .. string.format('<div class="lpnon-mods"><a href="%s/Mods">Zur Modliste</a></div>', mw.title.getCurrentTitle().text)
else
output = output .. '<div class="lpnon-mods"><ul><li>Mod 1</li><li>Mod 2</li></ul></div>'
end
-- Folgen (optional Subseite oder direkt)
if args["useEpisodesSubpage"] == "true" then
output = output .. string.format('<div class="lpnon-episodes"><a href="%s/Folgen">Zur Folgenübersicht</a></div>', mw.title.getCurrentTitle().text)
else
output = output .. '<div class="lpnon-episodes"><ul><li>Folge 1</li><li>Folge 2</li></ul></div>'
end
-- Kategorien setzen
local categories = {"LPON Projekte"}
if args["Spieler"] then
for player in mw.text.gsplit(args["Spieler"], ",") do
table.insert(categories, "Spieler:" .. mw.text.trim(player))
end
end
if args["Status"] then
table.insert(categories, "Status:" .. args["Status"])
end
output = output .. helper.addCategories({categories = categories, sortkey = args["Titel"]})
return output
end
return projekt