Zuletzt bearbeitet vor 5 Stunden
von Xineohp1506

Modul:Publikation/Buch: Unterschied zwischen den Versionen

Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 2: Zeile 2:


function buch.render(args, main)
function buch.render(args, main)
     local output = '<table class="publikation buch table table-hover">'
     local output = '<table class="publikation buch">'
   
 
     -- Coverbild
     -- Coverbild
     output = output .. '<tr><td colspan="2" style="text-align: center;">' .. main.getCoverImage(args["Coverbild"], "DefaultBuchCover.webp") .. '</td></tr>'
     output = output .. '<tr><td colspan="2" style="text-align: center;">' .. main.getCoverImage(args["Coverbild"], "DefaultBuchCover.jpg") .. '</td></tr>'


     -- Titel
     -- Titel
Zeile 19: Zeile 19:
     end
     end


     -- Originaltitel (falls vorhanden)
     -- Verlag
     output = output .. (args["Original Titel"] and '<tr><td><strong>Original Titel</strong></td><td>[[Original Titel::' .. args["Original Titel"] .. ']]</td></tr>' or "")
     output = output .. (args["Verlag"] and '<tr><td><strong>Verlag</strong></td><td>[[Verlag::' .. args["Verlag"] .. ']]</td></tr>' or "")
 
    -- Band und Serie
    if args["Band"] then
        local bandText = args["Band"]
        if args["Hat Serie"] then
            bandText = bandText .. ' von [[Hat Serie::' .. args["Hat Serie"] .. ']]'
        end
        output = output .. '<tr><td><strong>Band</strong></td><td>' .. bandText .. '</td></tr>'
    elseif args["Hat Serie"] then
        output = output .. '<tr><td><strong>Serie</strong></td><td>[[Hat Serie::' .. args["Hat Serie"] .. ']]</td></tr>'
    end


     -- Erscheinungsjahr
     -- Erscheinungsjahr
     output = output .. (args["Erscheinungsjahr"] and '<tr><td><strong>Erscheinungsjahr</strong></td><td>[[Erscheinungsjahr::' .. args["Erscheinungsjahr"] .. ']]</td></tr>' or "")
     output = output .. (args["Erscheinungsjahr"] and '<tr><td><strong>Erscheinungsjahr</strong></td><td>[[Erscheinungsjahr::' .. args["Erscheinungsjahr"] .. ']]</td></tr>' or "")


     -- Verlag
     -- ISBN
     output = output .. (args["Verlag"] and '<tr><td><strong>Verlag</strong></td><td>[[Verlag::' .. args["Verlag"] .. ']]</td></tr>' or "")
     if args["ISBN-10"] or args["ISBN-13"] then
 
        local isbn10 = main.getIsbnLink(args["ISBN-10"], "ISBN-10")
    -- Genre (Mehrfachwerte als Liste)
        local isbn13 = main.getIsbnLink(args["ISBN-13"], "ISBN-13")
    if args["Genre"] then
         output = output .. '<tr><td><strong>ISBN</strong></td><td>' .. isbn10 .. (isbn10 ~= "" and isbn13 ~= "" and " / " or "") .. isbn13 .. '</td></tr>'
         output = output .. '<tr><td><strong>Genre(s)</strong></td><td>'
        for genre in mw.text.gsplit(args["Genre"], ",") do
            output = output .. '[[Genre::' .. genre .. ']], '
        end
        output = output:sub(1, -3) .. '</td></tr>'
     end
     end


Zeile 42: Zeile 48:
     -- Standort
     -- Standort
     output = output .. (args["Standort"] and '<tr><td><strong>Standort</strong></td><td>[[Standort::' .. args["Standort"] .. ']]</td></tr>' or "")
     output = output .. (args["Standort"] and '<tr><td><strong>Standort</strong></td><td>[[Standort::' .. args["Standort"] .. ']]</td></tr>' or "")
    -- ISBN-10 und ISBN-13
    output = output .. (args["ISBN-10"] and '<tr><td><strong>ISBN-10</strong></td><td>' .. main.getIsbnLink(args["ISBN-10"], "ISBN-10") .. '</td></tr>' or "")
    output = output .. (args["ISBN-13"] and '<tr><td><strong>ISBN-13</strong></td><td>' .. main.getIsbnLink(args["ISBN-13"], "ISBN-13") .. '</td></tr>' or "")
    -- Datensatz ID (Deutsche Nationalbibliothek)
    output = output .. (args["Datensatz ID"] and '<tr><td><strong>DNB ID</strong></td><td>[https://d-nb.info/' .. args["Datensatz ID"] .. ' ' .. args["Datensatz ID"] .. ']</td></tr>' or "")


     -- Umfang (Seitenanzahl)
     -- Umfang (Seitenanzahl)
Zeile 58: Zeile 57:
     -- Inhaltszusammenfassung
     -- Inhaltszusammenfassung
     output = output .. (args["Inhaltszusammenfassung"] and '<tr><td><strong>Inhaltszusammenfassung</strong></td><td>' .. args["Inhaltszusammenfassung"] .. '</td></tr>' or "")
     output = output .. (args["Inhaltszusammenfassung"] and '<tr><td><strong>Inhaltszusammenfassung</strong></td><td>' .. args["Inhaltszusammenfassung"] .. '</td></tr>' or "")
   
 
     output = output .. '</table>'
     output = output .. '</table>'
    -- Semantische Daten setzen
    output = output .. "\n{{#set:"
    output = output .. "\n | Hat Titel=" .. (args["Titel"] or "Unbekannt")
    if args["Autor"] then
        for author in mw.text.gsplit(args["Autor"], ",") do
            output = output .. "\n | Hat Autor=" .. author
        end
    end
    if args["Hat Serie"] then
        output = output .. "\n | Hat Serie=" .. args["Hat Serie"]
    end
    if args["Band"] then
        output = output .. "\n | Band=" .. args["Band"]
    end
    if args["Verlag"] then
        output = output .. "\n | Verlag=" .. args["Verlag"]
    end
    if args["Erscheinungsjahr"] then
        output = output .. "\n | Erscheinungsjahr=" .. args["Erscheinungsjahr"]
    end
    if args["Sprache"] then
        output = output .. "\n | Sprache=" .. args["Sprache"]
    end
    if args["Standort"] then
        output = output .. "\n | Standort=" .. args["Standort"]
    end
    if args["Umfang"] then
        output = output .. "\n | Umfang=" .. args["Umfang"]
    end
    if args["Preis"] then
        output = output .. "\n | Preis=" .. args["Preis"]
    end
    output = output .. "\n}}"
     return output
     return output
end
end


return buch
return buch

Version vom 19. November 2024, 15:09 Uhr

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

local buch = {}

function buch.render(args, main)
    local output = '<table class="publikation buch">'

    -- Coverbild
    output = output .. '<tr><td colspan="2" style="text-align: center;">' .. main.getCoverImage(args["Coverbild"], "DefaultBuchCover.jpg") .. '</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::' .. author .. ']], '
        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>[[Verlag::' .. args["Verlag"] .. ']]</td></tr>' or "")

    -- Band und Serie
    if args["Band"] then
        local bandText = args["Band"]
        if args["Hat Serie"] then
            bandText = bandText .. ' von [[Hat Serie::' .. args["Hat Serie"] .. ']]'
        end
        output = output .. '<tr><td><strong>Band</strong></td><td>' .. bandText .. '</td></tr>'
    elseif args["Hat Serie"] then
        output = output .. '<tr><td><strong>Serie</strong></td><td>[[Hat Serie::' .. args["Hat Serie"] .. ']]</td></tr>'
    end

    -- Erscheinungsjahr
    output = output .. (args["Erscheinungsjahr"] and '<tr><td><strong>Erscheinungsjahr</strong></td><td>[[Erscheinungsjahr::' .. args["Erscheinungsjahr"] .. ']]</td></tr>' or "")

    -- ISBN
    if args["ISBN-10"] or args["ISBN-13"] then
        local isbn10 = main.getIsbnLink(args["ISBN-10"], "ISBN-10")
        local isbn13 = main.getIsbnLink(args["ISBN-13"], "ISBN-13")
        output = output .. '<tr><td><strong>ISBN</strong></td><td>' .. isbn10 .. (isbn10 ~= "" and isbn13 ~= "" and " / " or "") .. isbn13 .. '</td></tr>'
    end

    -- Sprache
    output = output .. (args["Sprache"] and '<tr><td><strong>Sprache</strong></td><td>[[Sprache::' .. args["Sprache"] .. ']]</td></tr>' or "")

    -- Standort
    output = output .. (args["Standort"] and '<tr><td><strong>Standort</strong></td><td>[[Standort::' .. args["Standort"] .. ']]</td></tr>' or "")

    -- Umfang (Seitenanzahl)
    output = output .. (args["Umfang"] and '<tr><td><strong>Umfang</strong></td><td>[[Umfang::' .. args["Umfang"] .. ']] Seiten</td></tr>' or "")

    -- Preis
    output = output .. (args["Preis"] and '<tr><td><strong>Preis</strong></td><td>[[Preis::' .. args["Preis"] .. ']]</td></tr>' or "")

    -- Inhaltszusammenfassung
    output = output .. (args["Inhaltszusammenfassung"] and '<tr><td><strong>Inhaltszusammenfassung</strong></td><td>' .. args["Inhaltszusammenfassung"] .. '</td></tr>' or "")

    output = output .. '</table>'

    -- Semantische Daten setzen
    output = output .. "\n{{#set:"
    output = output .. "\n | Hat Titel=" .. (args["Titel"] or "Unbekannt")
    if args["Autor"] then
        for author in mw.text.gsplit(args["Autor"], ",") do
            output = output .. "\n | Hat Autor=" .. author
        end
    end
    if args["Hat Serie"] then
        output = output .. "\n | Hat Serie=" .. args["Hat Serie"]
    end
    if args["Band"] then
        output = output .. "\n | Band=" .. args["Band"]
    end
    if args["Verlag"] then
        output = output .. "\n | Verlag=" .. args["Verlag"]
    end
    if args["Erscheinungsjahr"] then
        output = output .. "\n | Erscheinungsjahr=" .. args["Erscheinungsjahr"]
    end
    if args["Sprache"] then
        output = output .. "\n | Sprache=" .. args["Sprache"]
    end
    if args["Standort"] then
        output = output .. "\n | Standort=" .. args["Standort"]
    end
    if args["Umfang"] then
        output = output .. "\n | Umfang=" .. args["Umfang"]
    end
    if args["Preis"] then
        output = output .. "\n | Preis=" .. args["Preis"]
    end
    output = output .. "\n}}"

    return output
end

return buch