Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 12: | Zeile 12: | ||
end | end | ||
-- Funktion zur Anpassung des DISPLAYTITLE | -- Funktion zur Anpassung des DISPLAYTITLE über mw.ext.displaytitle | ||
function p.setDisplayTitle( | function p.setDisplayTitle(title) | ||
local | if title and title ~= "" then | ||
local success, err = pcall(function() | |||
mw.ext.displaytitle.set(title) | |||
end) | |||
if not success then | |||
mw.log("Fehler beim Setzen des DISPLAYTITLE: " .. tostring(err)) | |||
end | |||
end | end | ||
end | end |
Version vom 18. November 2024, 23:59 Uhr
Die Dokumentation für dieses Modul kann unter Modul:Publikation/Doku erstellt werden
local p = {}
-- Hilfsfunktion für das Standardbild
function p.getCoverImage(cover, defaultCover)
return cover and cover ~= "" and '[[File:' .. cover .. '|550px]]' or '[[File:' .. defaultCover .. '|550px]]'
end
-- Hilfsfunktion für ISBN-Links
function p.getIsbnLink(isbn, version)
local baseUrl = "Special:BookSources/"
return isbn and isbn ~= "" and '[[' .. baseUrl .. isbn .. '|' .. isbn .. ' (' .. version .. ')]]' or ""
end
-- Funktion zur Anpassung des DISPLAYTITLE über mw.ext.displaytitle
function p.setDisplayTitle(title)
if title and title ~= "" then
local success, err = pcall(function()
mw.ext.displaytitle.set(title)
end)
if not success then
mw.log("Fehler beim Setzen des DISPLAYTITLE: " .. tostring(err))
end
end
end
-- Hauptfunktion zum Rendern der Publikation, abhängig vom Typ
function p.generatePublication(frame)
local args = frame.args
local typ = args["Typ"] or "Buch" -- Standardtyp: Buch
-- Titelanpassung
local originalTitle = args["Titel"] or "Unbekannt"
p.setDisplayTitle(originalTitle)
-- Wähle das richtige Submodul je nach Publikationstyp
local result = ""
if typ == "Buch" then
local buchModule = require("Modul:Publikation/Buch")
result = buchModule.render(args, p)
elseif typ == "Zeitschrift" then
local zeitschriftModule = require("Modul:Publikation/Zeitschrift")
result = zeitschriftModule.render(args, p)
elseif typ == "Artikel" then
local artikelModule = require("Modul:Publikation/Artikel")
result = artikelModule.render(args, p)
elseif typ == "Manga" then
local mangaModule = require("Modul:Publikation/Manga")
result = mangaModule.render(args, p)
else
result = "Unbekannter Publikationstyp"
end
return result
end
return p