Zuletzt bearbeitet vor 10 Stunden
von Xineohp1506

Modul:Publikation: Unterschied zwischen den Versionen

Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(8 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
local getArgs = require('Module:Arguments').getArgs
local p = {}
local p = {}


-- Hilfsfunktion für das Standardbild
-- Hilfsfunktion für das Standardbild
function p.getCoverImage(cover, defaultCover)
function p.getCoverImage(cover, defaultCover)
     return cover and cover ~= "" and '[[File:' .. cover .. '|200px]]' or '[[File:' .. defaultCover .. '|200px]]'
     return cover and cover ~= "" and '[[File:' .. cover .. '|550px]]' or '[[File:' .. defaultCover .. '|550px]]'
end
end


-- Hilfsfunktion für ISBN-Links
-- Hilfsfunktion für ISBN-Links
function p.getIsbnLink(isbn, version)
function p.getIsbnLink(isbn, version)
     local baseUrl = "https://www.mediawiki.org/wiki/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 ü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
end


Zeile 15: Zeile 28:
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 "Unbekannt"
     local result = ""
 
    local debugOutput = "Empfangene Argumente:\n<pre>" .. mw.dumpObject(args) .. "</pre>\n"
     debugOutput = debugOutput .. "Publikationstyp: " .. typ .. "\n"


    -- Wähle das richtige Submodul je nach Publikationstyp
     if typ == "Buch" then
     if typ == "Buch" then
         local buchModule = require("Modul:Publikation/Buch")
         local buchModule = require("Modul:Publikation/Buch")
         result = buchModule.render(args, p)
         debugOutput = debugOutput .. "Aufruf Modul:Publikation/Buch...\n"
    elseif typ == "Zeitschrift" then
 
        local zeitschriftModule = require("Modul:Publikation/Zeitschrift")
         -- Weiterleitung an Buch-Modul
        result = zeitschriftModule.render(args, p)
         local result = buchModule.render(frame, p)
    elseif typ == "Artikel" then
         return debugOutput .. result
         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
     else
         result = "Unbekannter Publikationstyp"
         return debugOutput .. "Unbekannter Publikationstyp: " .. typ
     end
     end
    return result
end
end


return p
return p

Aktuelle Version vom 22. November 2024, 01:00 Uhr

Die Dokumentation für dieses Modul kann unter Modul:Publikation/Doku erstellt werden

local getArgs = require('Module:Arguments').getArgs
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 "Unbekannt"

    local debugOutput = "Empfangene Argumente:\n<pre>" .. mw.dumpObject(args) .. "</pre>\n"
    debugOutput = debugOutput .. "Publikationstyp: " .. typ .. "\n"

    if typ == "Buch" then
        local buchModule = require("Modul:Publikation/Buch")
        debugOutput = debugOutput .. "Aufruf Modul:Publikation/Buch...\n"

        -- Weiterleitung an Buch-Modul
        local result = buchModule.render(frame, p)
        return debugOutput .. result
    else
        return debugOutput .. "Unbekannter Publikationstyp: " .. typ
    end
end

return p