Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 10: | Zeile 10: | ||
local baseUrl = "Special:BookSources/" | local baseUrl = "Special:BookSources/" | ||
return isbn and isbn ~= "" and '[[' .. baseUrl .. isbn .. '|' .. isbn .. ' (' .. version .. ')]]' or "" | return isbn and isbn ~= "" and '[[' .. baseUrl .. isbn .. '|' .. isbn .. ' (' .. version .. ')]]' or "" | ||
end | |||
-- Funktion zur Anpassung des DISPLAYTITLE | |||
function p.setDisplayTitle(originalTitle) | |||
local pageTitle = mw.title.getCurrentTitle().text | |||
if originalTitle and pageTitle ~= originalTitle then | |||
mw.title.getCurrentTitle().displaytitle = originalTitle | |||
end | |||
end | end | ||
-- Hauptfunktion zum Rendern der Publikation, abhängig vom Typ | -- Hauptfunktion zum Rendern der Publikation, abhängig vom Typ | ||
function p.generatePublication(frame) | function p.generatePublication(frame) | ||
local args = frame.args | local args = frame.args | ||
local typ = args["Typ"] or "Buch" -- Standardtyp: Buch | local typ = args["Typ"] or "Buch" -- Standardtyp: Buch | ||
local | |||
-- Titelanpassung | |||
local originalTitle = args["Titel"] or "Unbekannt" | |||
p.setDisplayTitle(originalTitle) | |||
-- Wähle das richtige Submodul je nach Publikationstyp | -- Wähle das richtige Submodul je nach Publikationstyp | ||
local result = "" | |||
if typ == "Buch" then | if typ == "Buch" then | ||
local buchModule = require("Modul:Publikation/Buch") | local buchModule = require("Modul:Publikation/Buch") |
Version vom 18. November 2024, 23:53 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
function p.setDisplayTitle(originalTitle)
local pageTitle = mw.title.getCurrentTitle().text
if originalTitle and pageTitle ~= originalTitle then
mw.title.getCurrentTitle().displaytitle = originalTitle
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