Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
(28 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
local | local buch = {} | ||
local | local helper = require("Modul:Publikation/Helper") | ||
local buch | function buch.render(frame) | ||
-- Argumente aus dem Frame extrahieren | |||
local args = frame.args | |||
local output = '<table class="publikation buch">' | |||
-- | -- Coverbild | ||
output = output .. '<tr><td colspan="2" style="text-align: center;">' .. helper.getCoverImage({cover = args["Coverbild"], defaultCover = "Library:Cover:DefaultBuchCover.webp"}) .. '</td></tr>' | |||
-- Titel | |||
output = output .. '<tr><td><strong>Titel</strong></td><td>[[Hat Titel::' .. (args["Titel"] or "Unbekannt") .. ']]</td></tr>' | |||
-- | -- Autoren (Mehrfachwerte als Liste) | ||
if | if args["Autor"] then | ||
output = output .. '<tr><td><strong>Autor(en)</strong></td><td>' | |||
for author in mw.text.gsplit(args["Autor"], ",") do | |||
output = output .. '[[Hat Autor::' .. mw.text.trim(author) .. ']], ' | |||
end | |||
output = output:sub(1, -3) .. '</td></tr>' -- Entfernt das letzte Komma | |||
end | end | ||
-- | -- Verlag | ||
if args["Verlag"] then | |||
if | output = output .. '<tr><td><strong>Verlag</strong></td><td>[[Verlag::' .. args["Verlag"] .. ']]</td></tr>' | ||
end | end | ||
-- | -- Band und Serie | ||
if args["Band"] then | |||
if | local seriesID = args["SerienID"] | ||
local bandText = args["Band"] | |||
if seriesID then | |||
local seriesQuery = "[[SerienID::" .. seriesID .. "]]" | |||
local seriesPageTitle = helper.getSeriesPageTitle({ args = { seriesQuery } }) | |||
local completeVolumes = "Keine Ergebnisse gefunden." | |||
if seriesPageTitle ~= "Keine Ergebnisse gefunden." then | |||
completeVolumes = helper.getCompleteVolumesByTitle({ args = { seriesPageTitle, "Complete volumes" } }) | |||
end | |||
bandText = bandText .. " von " .. (completeVolumes or "?") .. ' ([[' .. mw.uri.anchorEncode(seriesPageTitle) .. '|' .. (args["Hat Serie"] or "Serie") .. "]])" | |||
end | |||
output = output .. '<tr><td><strong>Band</strong></td><td>' .. bandText .. '</td></tr>' | |||
end | end | ||
-- | -- Erscheinungsjahr | ||
if args["Erscheinungsjahr"] then | |||
output = output .. '<tr><td><strong>Erscheinungsjahr</strong></td><td>[[Erscheinungsjahr::' .. args["Erscheinungsjahr"] .. ']]</td></tr>' | |||
end | end | ||
-- ISBN | |||
if args["ISBN-10"] or args["ISBN-13"] then | |||
local isbn10 = helper.getIsbnLink({ isbn = args["ISBN-10"], version = "ISBN-10" }) | |||
local isbn13 = helper.getIsbnLink({ isbn = args["ISBN-13"], version = "ISBN-13" }) | |||
output = output .. '<tr><td><strong>ISBN</strong></td><td>' .. isbn10 .. (isbn10 ~= "" and isbn13 ~= "" and " / " or "") .. isbn13 .. '</td></tr>' | |||
end | end | ||
-- | -- Sprache | ||
if args["Sprache"] then | |||
output = output .. '<tr><td><strong>Sprache</strong></td><td>[[Sprache::' .. args["Sprache"] .. ']]</td></tr>' | |||
end | |||
-- | -- Standort | ||
if args["Standort"] then | |||
output = output .. '<tr><td><strong>Standort</strong></td><td>[[Standort::' .. args["Standort"] .. ']]</td></tr>' | |||
end | |||
-- | -- Umfang (Seitenanzahl) | ||
if args["Umfang"] then | |||
output = output .. '<tr><td><strong>Umfang</strong></td><td>[[Umfang::' .. args["Umfang"] .. ']] Seiten</td></tr>' | |||
end | |||
-- Preis | |||
if args["Preis"] then | |||
output = output .. '<tr><td><strong>Preis</strong></td><td>[[Preis::' .. args["Preis"] .. ']]</td></tr>' | |||
end | |||
-- Inhaltszusammenfassung | |||
if args["Inhaltszusammenfassung"] then | |||
output = output .. '<tr><td><strong>Inhaltszusammenfassung</strong></td><td>' .. args["Inhaltszusammenfassung"] .. '</td></tr>' | |||
end | end | ||
return | output = output .. '</table>' | ||
return output | |||
end | end | ||
return buch | return buch |
Aktuelle Version vom 23. November 2024, 02:12 Uhr
Die Dokumentation für dieses Modul kann unter Modul:Publikation/Buch/Doku erstellt werden
local buch = {}
local helper = require("Modul:Publikation/Helper")
function buch.render(frame)
-- Argumente aus dem Frame extrahieren
local args = frame.args
local output = '<table class="publikation buch">'
-- Coverbild
output = output .. '<tr><td colspan="2" style="text-align: center;">' .. helper.getCoverImage({cover = args["Coverbild"], defaultCover = "Library:Cover:DefaultBuchCover.webp"}) .. '</td></tr>'
-- Titel
output = output .. '<tr><td><strong>Titel</strong></td><td>[[Hat Titel::' .. (args["Titel"] or "Unbekannt") .. ']]</td></tr>'
-- Autoren (Mehrfachwerte als Liste)
if args["Autor"] then
output = output .. '<tr><td><strong>Autor(en)</strong></td><td>'
for author in mw.text.gsplit(args["Autor"], ",") do
output = output .. '[[Hat Autor::' .. mw.text.trim(author) .. ']], '
end
output = output:sub(1, -3) .. '</td></tr>' -- Entfernt das letzte Komma
end
-- Verlag
if args["Verlag"] then
output = output .. '<tr><td><strong>Verlag</strong></td><td>[[Verlag::' .. args["Verlag"] .. ']]</td></tr>'
end
-- Band und Serie
if args["Band"] then
local seriesID = args["SerienID"]
local bandText = args["Band"]
if seriesID then
local seriesQuery = "[[SerienID::" .. seriesID .. "]]"
local seriesPageTitle = helper.getSeriesPageTitle({ args = { seriesQuery } })
local completeVolumes = "Keine Ergebnisse gefunden."
if seriesPageTitle ~= "Keine Ergebnisse gefunden." then
completeVolumes = helper.getCompleteVolumesByTitle({ args = { seriesPageTitle, "Complete volumes" } })
end
bandText = bandText .. " von " .. (completeVolumes or "?") .. ' ([[' .. mw.uri.anchorEncode(seriesPageTitle) .. '|' .. (args["Hat Serie"] or "Serie") .. "]])"
end
output = output .. '<tr><td><strong>Band</strong></td><td>' .. bandText .. '</td></tr>'
end
-- Erscheinungsjahr
if args["Erscheinungsjahr"] then
output = output .. '<tr><td><strong>Erscheinungsjahr</strong></td><td>[[Erscheinungsjahr::' .. args["Erscheinungsjahr"] .. ']]</td></tr>'
end
-- ISBN
if args["ISBN-10"] or args["ISBN-13"] then
local isbn10 = helper.getIsbnLink({ isbn = args["ISBN-10"], version = "ISBN-10" })
local isbn13 = helper.getIsbnLink({ isbn = args["ISBN-13"], version = "ISBN-13" })
output = output .. '<tr><td><strong>ISBN</strong></td><td>' .. isbn10 .. (isbn10 ~= "" and isbn13 ~= "" and " / " or "") .. isbn13 .. '</td></tr>'
end
-- Sprache
if args["Sprache"] then
output = output .. '<tr><td><strong>Sprache</strong></td><td>[[Sprache::' .. args["Sprache"] .. ']]</td></tr>'
end
-- Standort
if args["Standort"] then
output = output .. '<tr><td><strong>Standort</strong></td><td>[[Standort::' .. args["Standort"] .. ']]</td></tr>'
end
-- Umfang (Seitenanzahl)
if args["Umfang"] then
output = output .. '<tr><td><strong>Umfang</strong></td><td>[[Umfang::' .. args["Umfang"] .. ']] Seiten</td></tr>'
end
-- Preis
if args["Preis"] then
output = output .. '<tr><td><strong>Preis</strong></td><td>[[Preis::' .. args["Preis"] .. ']]</td></tr>'
end
-- Inhaltszusammenfassung
if args["Inhaltszusammenfassung"] then
output = output .. '<tr><td><strong>Inhaltszusammenfassung</strong></td><td>' .. args["Inhaltszusammenfassung"] .. '</td></tr>'
end
output = output .. '</table>'
return output
end
return buch