Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 4: | Zeile 4: | ||
function episode.render(frame) | function episode.render(frame) | ||
local args = require('Module:Arguments').getArgs(frame) | local args = require('Module:Arguments').getArgs(frame) | ||
local projectName = args["Projekt"] | |||
if not projectName or projectName == "" then | |||
return "Kein Projektname angegeben." | |||
end | |||
local cleanProjektname = helper.cleanString(projectName) | |||
local output = "" | local output = "" | ||
-- DISPLAYTITLE setzen | -- DISPLAYTITLE setzen | ||
helper.setDisplayTitle({title = projectName .. args["Titel"]}) | |||
-- Semantische Attribute setzen | -- Semantische Attribute setzen | ||
helper.setProperty({args = {["LPON:Episodennummer"] = args["Episodennummer"]}}) | |||
helper.setProperty({args = {["LPON:Veröffentlichungsdatum"] = args["Veröffentlichungsdatum"]}}) | |||
helper.setProperty({args = {["LPON:Episodentitel"] = args["Titel"]}}) | |||
helper.setProperty({args = {["LPON:Spieler"] = args["Spieler"]}}) | |||
helper.setProperty({args = {["LPON:Beschreibung"] = args["Beschreibung"]}}) | |||
helper.setProperty({args = {["LPON:Projekt"] = cleanProjektname}}) | |||
helper.setProperty({args = {["LPON:Service"] = args["Service"]}}) | |||
helper.setProperty({args = {["LPON:ID"] = args["ID"]}}) | |||
-- EmbedVideo generieren | -- EmbedVideo generieren | ||
if args["Service"] and args["ID"] then | if args["Service"] and args["ID"] then | ||
local embedVideo = "{{#ev:" .. args["Service"] .. "|" .. args["ID"] .. "|640|| | local embedVideo = "{{#ev:" .. args["Service"] .. "|" .. args["ID"] .. "|640|center||" .. (args["Titel"] or "Video") .. "}}" | ||
output = output .. frame:preprocess(embedVideo) .. "\n" | output = output .. frame:preprocess(embedVideo) .. "\n" | ||
else | else |
Version vom 16. Dezember 2024, 21:14 Uhr
Die Dokumentation für dieses Modul kann unter Modul:LPON/Episode/Doku erstellt werden
local episode = {}
local helper = require('Module:LPON/Helper')
function episode.render(frame)
local args = require('Module:Arguments').getArgs(frame)
local projectName = args["Projekt"]
if not projectName or projectName == "" then
return "Kein Projektname angegeben."
end
local cleanProjektname = helper.cleanString(projectName)
local output = ""
-- DISPLAYTITLE setzen
helper.setDisplayTitle({title = projectName .. args["Titel"]})
-- Semantische Attribute setzen
helper.setProperty({args = {["LPON:Episodennummer"] = args["Episodennummer"]}})
helper.setProperty({args = {["LPON:Veröffentlichungsdatum"] = args["Veröffentlichungsdatum"]}})
helper.setProperty({args = {["LPON:Episodentitel"] = args["Titel"]}})
helper.setProperty({args = {["LPON:Spieler"] = args["Spieler"]}})
helper.setProperty({args = {["LPON:Beschreibung"] = args["Beschreibung"]}})
helper.setProperty({args = {["LPON:Projekt"] = cleanProjektname}})
helper.setProperty({args = {["LPON:Service"] = args["Service"]}})
helper.setProperty({args = {["LPON:ID"] = args["ID"]}})
-- EmbedVideo generieren
if args["Service"] and args["ID"] then
local embedVideo = "{{#ev:" .. args["Service"] .. "|" .. args["ID"] .. "|640|center||" .. (args["Titel"] or "Video") .. "}}"
output = output .. frame:preprocess(embedVideo) .. "\n"
else
output = output .. "<p>Keine Video-ID oder Service angegeben.</p>"
end
-- Ausgabe der Episodendetails
output = output .. '<div class="lpnon-episode-details">'
output = output .. string.format("; '''Titel''': %s\n", args["Titel"] or "Unbekannt")
output = output .. string.format("; '''Episodennummer''': %s\n", args["Episodennummer"] or "Unbekannt")
output = output .. string.format("; '''Veröffentlichungsdatum''': %s\n", args["Veröffentlichungsdatum"] or "Unbekannt")
output = output .. string.format("; '''Spieler''': %s\n", args["Spieler"] or "Unbekannt")
output = output .. string.format("; '''Beschreibung''': %s\n", args["Beschreibung"] or "Keine Beschreibung verfügbar")
output = output .. '</div>'
return output
end
return episode