Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 2: | Zeile 2: | ||
local helper = require("Modul:Publikation/Helper") | local helper = require("Modul:Publikation/Helper") | ||
local related = require("Modul:Publikation/Related") | local related = require("Modul:Publikation/Related") | ||
local | local zeitschrift = {} | ||
function zeitschrift.render(frame) | function zeitschrift.render(frame) |
Version vom 26. November 2024, 21:20 Uhr
Die Dokumentation für dieses Modul kann unter Modul:Publikation/Zeitschrift/Doku erstellt werden
local getArgs = require('Module:Arguments').getArgs
local helper = require("Modul:Publikation/Helper")
local related = require("Modul:Publikation/Related")
local zeitschrift = {}
function zeitschrift.render(frame)
local args = frame.args
local output = '<table class="publikation zeitschrift">'
-- Coverbild
output = output .. '<tr><td colspan="2" style="text-align: center;">' ..
helper.getCoverImage({cover = args["Coverbild"], defaultCover = "Library:Cover:DefaultZeitschriftCover.webp"}) ..
'</td></tr>'
-- Titel
output = output .. '<tr><td><strong>Titel</strong></td><td>[[Hat Titel::' .. (args["Titel"] or "Unbekannt") .. ']]</td></tr>'
-- Autoren
if args["Autor"] then
output = output .. '<tr><td><strong>Autor(en)</strong></td><td>'
for author in mw.text.gsplit(args["Autor"], ",") do
author = mw.text.trim(author)
local authorPage = "Library:Autor:" .. author:gsub(" ", "_")
helper.setProperty({ args = { ["Hat Autor"] = author } }) -- Semantischen Wert setzen
output = output .. '[[' .. authorPage .. '|' .. author .. ']], '
end
output = output:sub(1, -3) .. '</td></tr>' -- Entfernt das letzte Komma
end
-- Stichworte
if args["Stichworte"] then
output = output .. '<tr><td><strong>Stichworte</strong></td><td>'
for keyword in mw.text.gsplit(args["Stichworte"], ",") do
keyword = mw.text.trim(keyword)
helper.setProperty({ args = { ["Hat Stichwort"] = keyword } }) -- Semantischen Wert setzen
output = output .. keyword .. ', '
end
output = output:sub(1, -3) .. '</td></tr>' -- Entfernt das letzte Komma
end
-- Wichtige Artikel
if args["Wichtige Artikel"] then
output = output .. '<tr><td><strong>Wichtige Artikel</strong></td><td>'
for article in mw.text.gsplit(args["Wichtige Artikel"], ",") do
article = mw.text.trim(article)
local articlePage = "Library:Artikel:" .. article:gsub(" ", "_")
helper.setProperty({ args = { ["Hat wichtigen Artikel"] = article } }) -- Semantischen Wert setzen
output = output .. '[[' .. articlePage .. '|' .. article .. ']], '
end
output = output:sub(1, -3) .. '</td></tr>' -- Entfernt das letzte Komma
end
-- Verlag
output = output .. (args["Verlag"] and '<tr><td><strong>Verlag</strong></td><td>[[Hat Verlag::' .. args["Verlag"] .. ']]</td></tr>' or "")
-- ISSN
output = output .. (args["ISSN"] and '<tr><td><strong>ISSN</strong></td><td>[[ISSN::' .. args["ISSN"] .. ']]</td></tr>' or "")
-- Erscheinungsjahr
output = output .. (args["Erscheinungsjahr"] and '<tr><td><strong>Erscheinungsjahr</strong></td><td>[[Hat Erscheinungsjahr::' .. args["Erscheinungsjahr"] .. ']]</td></tr>' or "")
-- Jahrgang
output = output .. (args["Jahrgang"] and '<tr><td><strong>Jahrgang</strong></td><td>[[Hat Jahrgang::' .. args["Jahrgang"] .. ']]</td></tr>' or "")
-- Ausgabe
output = output .. (args["Ausgabe"] and '<tr><td><strong>Ausgabe</strong></td><td>[[Hat Ausgabe::' .. args["Ausgabe"] .. ']]</td></tr>' or "")
-- Standort
output = output .. (args["Standort"] and '<tr><td><strong>Standort</strong></td><td>[[Hat Standort::' .. args["Standort"] .. ']]</td></tr>' or "")
-- Inhaltszusammenfassung
output = output .. (args["Inhaltszusammenfassung"] and '<tr><td><strong>Inhaltszusammenfassung</strong></td><td>' .. args["Inhaltszusammenfassung"] .. '</td></tr>' or "")
-- Datensatz ID
output = output .. (args["Datensatz ID"] and '<tr><td><strong>Datensatz ID</strong></td><td>' .. args["Datensatz ID"] .. '</td></tr>' or "")
output = output .. '</table>'
-- Kategorien setzen
helper.addCategories({
args["Verlag"],
args["ISSN"],
args["Jahrgang"]
})
return output
end
return zeitschrift