Zuletzt bearbeitet vor 16 Stunden
von Xineohp1506

Publikation

Das Modul dient zur Darstellung verschiedener Publikationstypen in einer einheitlichen Form. Es verwendet Submodule für spezifische Publikationstypen.

Verwendung

Das Modul wird über die Vorlage `Unbekannter Publikationstyp:

` aufgerufen. Der Typ der Publikation wird durch den Parameter `Typ` definiert. Basierend auf diesem Parameter wird das entsprechende Submodul verwendet.

Syntax

{{Publikation
 | Typ = <Publikationstyp>
 | Titel = <Titel der Publikation>
 | Autor = <Autor(en)>
 | Weitere Parameter abhängig vom Publikationstyp...
}}

Unterstützte Publikationstypen

Das Modul unterstützt die folgenden Publikationstypen:

Buch

Das Submodul `Modul:Publikation/Buch` wird verwendet, um Bücher darzustellen.

Parameter:

  • `Titel`: Der Titel des Buches.
  • `Autor`: Autor(en), kommasepariert bei mehreren.
  • `Band`: Bandnummer, falls es Teil einer Serie ist.
  • `SerienID`: Eine eindeutige ID für die Serie.
  • `Verlag`: Der Verlag des Buches.
  • `ISBN-10` / `ISBN-13`: ISBN-Nummern.
  • `Sprache`: Sprache des Buches.
  • `Standort`: Standort im Regal.
  • `Umfang`: Seitenanzahl.
  • `Inhaltszusammenfassung`: Eine kurze Beschreibung des Buchinhalts.

Manga

Das Submodul `Modul:Publikation/Manga` wird für Manga verwendet.

Parameter:

  • `Titel`: Der Titel des Manga.
  • `Mangaka`: Der/die Mangaka (Zeichner).
  • `Band`: Bandnummer.
  • `SerienID`: Eine eindeutige ID für die Serie.
  • `Genre`: Genre(s), kommasepariert.

Artikel

Das Submodul `Modul:Publikation/Artikel` dient zur Darstellung von Artikeln aus anderen Werken.

Parameter:

  • `Titel`: Titel des Artikels.
  • `Autor`: Autor(en) des Artikels.
  • `Publikationswerk`: Name des Werks, in dem der Artikel veröffentlicht wurde.
  • `Seitenzahl`: Seitenanzahl des Artikels.

Zeitschrift

Das Submodul `Modul:Publikation/Zeitschrift` wird für Zeitschrifteneinträge genutzt.

Parameter:

  • `Titel`: Titel der Zeitschrift.
  • `Jahrgang`: Jahrgang der Zeitschrift.
  • `Ausgabe`: Ausgabennummer.
  • `ISSN`: ISSN-Nummer.

Erweiterbarkeit

Falls weitere Publikationstypen hinzugefügt werden sollen, kann dies durch ein neues Submodul erfolgen. Dieses Submodul sollte die Funktion `render(frame)` implementieren.

Beispiele

Buch

{{Publikation
 | Typ = Buch
 | Titel = Das Reich der Vampire: A Tale of Blood and Darkness
 | Autor = Jay Kristoff
 | Band = 1
 | SerienID = 001
}}

Manga

{{Publikation
 | Typ = Manga
 | Titel = One Piece
 | Mangaka = Eiichiro Oda
 | Band = 101
 | SerienID = 002
}}

Entwicklerhinweise

Das Modul verwendet die Submodule:

  • `Modul:Publikation/Buch`
  • `Modul:Publikation/Manga`
  • `Modul:Publikation/Artikel`
  • `Modul:Publikation/Zeitschrift`
  • `Modul:Publikation/Helper` (gemeinsame Hilfsfunktionen)
  • `Modul:Publikation/Related` (Verknüpfte Publikationen)

local getArgs = require('Module:Arguments').getArgs
local p = {}

-- Hauptfunktion zum Rendern der Publikation, abhängig vom Typ
function p.generatePublication(frame)
    local args = frame.args
    local typ = args["Typ"] or "Unbekannt"

    if typ == "Buch" then
        local buchModule = require("Modul:Publikation/Buch")
        return buchModule.render(frame)

    elseif typ == "Manga" then
        local mangaModule = require("Modul:Publikation/Manga")
        return mangaModule.render(frame)

    elseif typ == "Artikel" then
        local artikelModule = require("Modul:Publikation/Artikel")
        return artikelModule.render(frame)

    elseif typ == "Zeitschrift" then
        local zeitschriftModule = require("Modul:Publikation/Zeitschrift")
        return zeitschriftModule.render(frame)

    else
        return "Unbekannter Publikationstyp: " .. typ
    end
end

return p