20.690
Bearbeitungen
(+ zeileKategorieSeite()) |
(- smw.addAttrToList(fbdata.attr.list, "Seite", fbdata.fullpagename) verschoben nach Modul:Faktenbox/Common) |
||
| (8 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 3: | Zeile 3: | ||
local com = require("Modul:Common") | local com = require("Modul:Common") | ||
local str = require("Modul:String") | local str = require("Modul:String") | ||
local | local wob = require("Modul:Wörterbuch") | ||
local wik = require("Modul:Wiki") | local wik = require("Modul:Wiki") | ||
local smw = require("Modul:SMW") | |||
local fab = require("Modul:Faktenbox") | local fab = require("Modul:Faktenbox") | ||
function p.Faktenbox(frame) | function p.Faktenbox(frame) | ||
-- mw.log("Faktenbox(frame)") | -- mw.log("Faktenbox(frame)") | ||
| Zeile 14: | Zeile 15: | ||
-- Basis-Faktenbox-Daten (Klasse/Kategorie/Formular) | -- Basis-Faktenbox-Daten (Klasse/Kategorie/Formular) | ||
local fbdata = fab. | local fbdata = fab.getFbdata(frame) | ||
fbdata.klasse = {frame.args["Klasse"] or "Publikation"} | fbdata.klasse = {frame.args["Klasse"] or "Publikation"} | ||
if frame.args["KategorieEinzahl"] ~= nil then | if frame.args["KategorieEinzahl"] ~= nil then | ||
fbdata.kategorie_einzahl = {frame.args["KategorieEinzahl"]} | fbdata.kategorie_einzahl = {frame.args["KategorieEinzahl"]} | ||
fbdata.kategorie = { | fbdata.kategorie = {wob.mehrzahl(frame.args["KategorieEinzahl"])} | ||
else | else | ||
fbdata.kategorie = {frame.args["Kategorie"] or "Publikationen"} | fbdata.kategorie = {frame.args["Kategorie"] or "Publikationen"} | ||
| Zeile 24: | Zeile 25: | ||
fbdata.formular = frame.args["Formular"] or frame.args["KategorieEinzahl"] or "Publikation" -- ggf. "Publikation/Work" | fbdata.formular = frame.args["Formular"] or frame.args["KategorieEinzahl"] or "Publikation" -- ggf. "Publikation/Work" | ||
fbdata.positionscheck = false | fbdata.positionscheck = false | ||
-- Titel | |||
fbdata.pargs["Titel"] = fbdata.pargs["Titel"] or fbdata.pagename | |||
-- Index-Seite | |||
fbdata.indexpage = "Index:" .. (fbdata.pargs["Index"] or fbdata.pagename) | |||
if wik.pageExists(fbdata.indexpage) then | |||
smw.addAttrToList(fbdata.attr.list, "Index", fbdata.indexpage) | |||
fbdata.bildlink = fbdata.indexpage | |||
else | |||
fbdata.indexpage = nil | |||
end | |||
-- Tabs einsammeln und zusammenfügen | -- Tabs einsammeln und zusammenfügen | ||
local | local t = fab.bildTab(fbdata) .. p.datenTab(fbdata) | ||
t = fab.factbox_header_footer(t) | |||
-- Buch-spezifische Kategorien usw. | -- Buch-spezifische Kategorien usw. | ||
| Zeile 36: | Zeile 46: | ||
-- Sonstige gemeinsame Dinge anfügen (Klasse, Formular, Kategorien, Wartung, ...) | -- Sonstige gemeinsame Dinge anfügen (Klasse, Formular, Kategorien, Wartung, ...) | ||
t = t .. fab.postprocess(fbdata) | |||
-- mw.logObject( | -- Pre-Processing | ||
-- mw.logObject(t, "t") | |||
t = fbdata.frame:preprocess(t) | |||
return t | |||
return | |||
end | end | ||
| Zeile 57: | Zeile 64: | ||
-- Zusammenbau | -- Zusammenbau | ||
t = t .. p.zeileKategorieSeite(fbdata) | t = t .. p.zeileKategorieSeite(fbdata) | ||
t = t .. fab.zeile{attr_name = "Untertitel", | t = t .. fab.zeile{fbdata = fbdata, attr_name = "Untertitel", delimiter = ";"} | ||
t = t .. p.zeileReihe(fbdata) | t = t .. p.zeileReihe(fbdata) | ||
t = t .. fab.zeile{ | t = t .. fab.zeile{fbdata = fbdata, attr_name = "Band"} | ||
t = t .. p.zeileGenre(fbdata) | t = t .. p.zeileGenre(fbdata) | ||
t = t .. fab.zeile{attr_name = "Ausfuehrung" | t = t .. fab.zeile{fbdata = fbdata, attr_name = "Ausfuehrung"} | ||
t = t .. fab.zeile{attr_name = "Autor" | t = t .. fab.zeile{fbdata = fbdata, attr_name = "Autor", delimiter = ";"} | ||
t = t .. fab.zeile{attr_name = "Herausgeber", | t = t .. fab.zeile{fbdata = fbdata, attr_name = "Herausgeber", delimiter = ";"} | ||
t = t .. fab.zeile{attr_name = "Erscheinungsjahr", | t = t .. fab.zeile{fbdata = fbdata, attr_name = "Erscheinungsjahr", delimiter = ";"} | ||
t = t .. fab.zeile{attr_name = "Verlag" | t = t .. fab.zeile{fbdata = fbdata, attr_name = "Verlag", delimiter = ";"} | ||
t = t .. fab.zeile{attr_name = "Auflage" | t = t .. fab.zeile{fbdata = fbdata, attr_name = "Auflage"} | ||
t = t .. fab.zeile{attr_name = "Seitenzahl", | t = t .. fab.zeile{fbdata = fbdata, attr_name = "Seitenzahl", delimiter = ";"} | ||
t = t .. fab.zeile{attr_name = "ISBNnr" | t = t .. fab.zeile{fbdata = fbdata, attr_name = "ISBNnr", delimiter = ";"} | ||
t = t .. fab.zeile{attr_name = "Besonderheit", | t = t .. fab.zeile{fbdata = fbdata, attr_name = "Besonderheit", delimiter = ";"} | ||
t = t .. fab.zeile{attr_name = "BestandArchivFuerthWiki", | t = t .. fab.zeile{fbdata = fbdata, attr_name = "BestandArchivFuerthWiki", delimiter = ";"} | ||
t = t .. "</ | if fbdata.indexpage ~= nil then | ||
t = t .. "<dt>" .. wob.attrText("Index") .. " 👓</dt>" | |||
t = t .. "<dd>'''[[" .. fbdata.indexpage .. "|" .. string.sub(fbdata.indexpage, 7) .. "]]'''</dd>" | |||
end | |||
t = fab.table_header_footer(t) | |||
t = t .. fab.zeileSemantikBrowsenAbfrage(fbdata) | t = t .. fab.zeileSemantikBrowsenAbfrage(fbdata) | ||
| Zeile 95: | Zeile 105: | ||
end | end | ||
t = t .. "<dt>[[:Kategorie:" .. fbdata.kategorie[kindex or 1] .. "|" .. kategorie_einzahl .. "-Titel]]</dt>" | t = t .. "<dt>[[:Kategorie:" .. fbdata.kategorie[kindex or 1] .. "|" .. kategorie_einzahl .. "-Titel]]</dt>" | ||
t = t .. "<dd>'''[[ | if fbdata.indexpage ~= nil then | ||
t = t .. "<dd>'''[[" .. fbdata.indexpage .. "|" .. fbdata.pargs["Titel"] .. "]]'''</dd>" | |||
else | |||
t = t .. "<dd>'''" .. fbdata.pargs["Titel"] .. "'''</dd>" | |||
end | |||
smw.addAttrToList(fbdata.attr.list, "Publikationstitel", fbdata.pargs["Titel"]) | |||
-- mw.logObject(t, "t") | -- mw.logObject(t, "t") | ||
return t | return t | ||
| Zeile 106: | Zeile 121: | ||
-- =p.zeileReihe{pargs={Reihe=" Chronik Geschichtswerkstatt ; Durch Fürth geführt (Buchreihe) ; BlaBla "}} | -- =p.zeileReihe{pargs={Reihe=" Chronik Geschichtswerkstatt ; Durch Fürth geführt (Buchreihe) ; BlaBla "}} | ||
local t = "" | local t = "" | ||
local reihe = str.splitAndStrip(fbdata.pargs["Reihe"] | local reihe = str.splitAndStrip(fbdata.pargs["Reihe"], ";") | ||
if #reihe > 0 then | if #reihe > 0 then | ||
if #reihe > 1 then | if #reihe > 1 then | ||
| Zeile 129: | Zeile 144: | ||
end | end | ||
if wik.pageExists(r) then | if wik.pageExists(r) then | ||
t = t .. "[[ | t = t .. "[[" .. r_ohne .. "]]" | ||
else | else | ||
t = t .. r_ohne | t = t .. r_ohne | ||
end | end | ||
smw.addAttrToList(fbdata.attr.list, "Reihe", r) | |||
end | end | ||
t = t .. "</dd>" | t = t .. "</dd>" | ||
| Zeile 146: | Zeile 162: | ||
-- =p.zeileGenre{pargs={Genre="Stadtgeschichte;Biografie"}} | -- =p.zeileGenre{pargs={Genre="Stadtgeschichte;Biografie"}} | ||
local t = "" | local t = "" | ||
local genre = str.splitAndStrip(fbdata.pargs["Genre"] | local genre = str.splitAndStrip(fbdata.pargs["Genre"], ";") | ||
if #genre > 0 then | if #genre > 0 then | ||
if #genre > 1 then | if #genre > 1 then | ||
| Zeile 157: | Zeile 173: | ||
t = t .. ", " | t = t .. ", " | ||
end | end | ||
t = t .. "[[:Kategorie:" .. g .. "|" .. g .. "]][[Kategorie:" .. g .. "]] | t = t .. "[[:Kategorie:" .. g .. "|" .. g .. "]][[Kategorie:" .. g .. "]]" | ||
smw.addAttrToList(fbdata.attr.list, "Genre", g) | |||
end | end | ||
t = t .. "</dd>" | t = t .. "</dd>" | ||