Zuletzt bearbeitet vor 5 Stunden
von Xineohp1506

Modul:Publikation: Unterschied zwischen den Versionen

(Die Seite wurde neu angelegt: „local p = {} -- Hauptfunktion zum Generieren der Publikation function p.generatePublication(frame) local args = frame.args local typ = args["Typ"] or "Buch" -- Standardtyp: Buch local result = "" -- Unterschiedliche Darstellungen je nach Publikationstyp if typ == "Buch" then result = result .. p.renderBook(args) elseif typ == "Zeitschrift" then result = result .. p.renderMagazine(args) elseif typ == "Sammelban…“)
 
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
local p = {}
local p = {}


-- Hauptfunktion zum Generieren der Publikation
-- Hilfsfunktion für das Standardbild
function p.getCoverImage(cover, defaultCover)
    return cover and cover ~= "" and '[[File:' .. cover .. '|200px]]' or '[[File:' .. defaultCover .. '|200px]]'
end
 
-- Hilfsfunktion für ISBN-Links
function p.getIsbnLink(isbn, version)
    local baseUrl = "https://www.mediawiki.org/wiki/Special:BookSources/"
    return isbn and isbn ~= "" and '[[' .. baseUrl .. isbn .. '|' .. isbn .. ' (' .. version .. ')]]' or ""
end
 
-- 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
Zeile 7: Zeile 18:
     local result = ""
     local result = ""


     -- Unterschiedliche Darstellungen je nach Publikationstyp
     -- Wähle das richtige Submodul je nach Publikationstyp
     if typ == "Buch" then
     if typ == "Buch" then
         result = result .. p.renderBook(args)
        local buchModule = require("Modul:Publikation/Buch")
         result = buchModule.render(args, p)
     elseif typ == "Zeitschrift" then
     elseif typ == "Zeitschrift" then
         result = result .. p.renderMagazine(args)
         local zeitschriftModule = require("Modul:Publikation/Zeitschrift")
    elseif typ == "Sammelband" then
         result = zeitschriftModule.render(args, p)
         result = result .. p.renderAnthology(args)
     elseif typ == "Artikel" then
     elseif typ == "Artikel" then
         result = result .. p.renderArticle(args)
        local artikelModule = require("Modul:Publikation/Artikel")
         result = artikelModule.render(args, p)
     elseif typ == "Manga" then
     elseif typ == "Manga" then
         result = result .. p.renderManga(args)
        local mangaModule = require("Modul:Publikation/Manga")
         result = mangaModule.render(args, p)
     else
     else
         result = "Unbekannter Publikationstyp"
         result = "Unbekannter Publikationstyp"
Zeile 23: Zeile 36:


     return result
     return result
end
-- Funktion zur Darstellung eines Buches
function p.renderBook(args)
    local output = '<div class="publikation buch">'
    output = output .. "<strong>Titel</strong>: " .. (args["Titel"] or "") .. "<br>"
    output = output .. "<strong>Autor</strong>: [[" .. (args["Autor"] or "Unbekannt") .. "]]<br>"
    output = output .. "<strong>Erscheinungsjahr</strong>: " .. (args["Erscheinungsjahr"] or "") .. "<br>"
    output = output .. "<strong>Genre</strong>: " .. (args["Genre"] or "") .. "<br>"
    output = output .. "<strong>Cover</strong>: [[File:" .. (args["Coverbild"] or "StandardCover.jpg") .. "|200px]]<br>"
    output = output .. '</div>'
    return output
end
-- Funktion zur Darstellung einer Zeitschrift
function p.renderMagazine(args)
    local output = '<div class="publikation zeitschrift">'
    output = output .. "<strong>Titel</strong>: " .. (args["Titel"] or "") .. "<br>"
    output = output .. "<strong>Herausgeber</strong>: [[" .. (args["Herausgeber"] or "Unbekannt") .. "]]<br>"
    output = output .. "<strong>Jahrgang</strong>: " .. (args["Jahrgang"] or "") .. "<br>"
    output = output .. "<strong>ISSN</strong>: " .. (args["ISSN"] or "") .. "<br>"
    output = output .. '</div>'
    return output
end
-- Funktion zur Darstellung eines Sammelbandes
function p.renderAnthology(args)
    local output = '<div class="publikation sammelband">'
    output = output .. "<strong>Titel</strong>: " .. (args["Titel"] or "") .. "<br>"
    output = output .. "<strong>Herausgeber</strong>: [[" .. (args["Herausgeber"] or "Unbekannt") .. "]]<br>"
    output = output .. "<strong>Thema</strong>: " .. (args["Thema"] or "") .. "<br>"
    output = output .. "<strong>Cover</strong>: [[File:" .. (args["Coverbild"] or "StandardCover.jpg") .. "|200px]]<br>"
    output = output .. '</div>'
    return output
end
-- Funktion zur Darstellung eines Artikels
function p.renderArticle(args)
    local output = '<div class="publikation artikel">'
    output = output .. "<strong>Titel</strong>: " .. (args["Titel"] or "") .. "<br>"
    output = output .. "<strong>Autor</strong>: [[" .. (args["Autor"] or "Unbekannt") .. "]]<br>"
    output = output .. "<strong>Publiziert in</strong>: [[" .. (args["Publikationswerk"] or "Unbekannt") .. "]]<br>"
    output = output .. "<strong>Seitenzahl</strong>: " .. (args["Seitenzahl"] or "") .. "<br>"
    output = output .. '</div>'
    return output
end
-- Funktion zur Darstellung eines Mangas
function p.renderManga(args)
    local output = '<div class="publikation manga">'
    output = output .. "<strong>Titel</strong>: " .. (args["Titel"] or "") .. "<br>"
    output = output .. "<strong>Autor</strong>: [[" .. (args["Mangaka"] or "Unbekannt") .. "]]<br>"
    output = output .. "<strong>Verlag</strong>: " .. (args["Verlag"] or "") .. "<br>"
    output = output .. "<strong>Bände</strong>: " .. (args["Bände"] or "") .. "<br>"
    output = output .. "<strong>Cover</strong>: [[File:" .. (args["Coverbild"] or "StandardMangaCover.jpg") .. "|200px]]<br>"
    output = output .. '</div>'
    return output
end
end


return p
return p

Version vom 14. November 2024, 23:42 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 .. '|200px]]' or '[[File:' .. defaultCover .. '|200px]]'
end

-- Hilfsfunktion für ISBN-Links
function p.getIsbnLink(isbn, version)
    local baseUrl = "https://www.mediawiki.org/wiki/Special:BookSources/"
    return isbn and isbn ~= "" and '[[' .. baseUrl .. isbn .. '|' .. isbn .. ' (' .. version .. ')]]' or ""
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
    local result = ""

    -- Wähle das richtige Submodul je nach Publikationstyp
    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