Zuletzt bearbeitet vor einer Stunde
von Xineohp1506

Modul:Publikation: Unterschied zwischen den Versionen

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 result = ""
 
    -- 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