Modul:Vorlage:BLKÖ-BN

aus Wikisource, der freien Quellensammlung

Die Dokumentation für dieses Modul kann unter Modul:Vorlage:BLKÖ-BN/Doku erstellt werden

function getPageTitle(band)
	return ({
		[7] = "Zusätze und Berichtigungen",
		[8] = "Berichtigungen",
		[9] = "Uebersicht jener … Personen, welche mittlerweile gestorben sind",
		[12] = "Zusätze und Berichtigungen",
		[18] = "Druckfehler",
		[19] = "Zusätze und Berichtigungen",
		[21] = "Nachträge",
		[41] = "Nachträge"
	})[band] or "Berichtigungen, Ergänzungen und Nachträge"
end

local p = {}

function p.makeRef(frame)
	local args = frame:getParent().args
	local band = tonumber(args[1])
	
	local name = mw.ustring.sub(mw.title.getCurrentTitle().text, 6)
	local page = "BLKÖ:" .. (args["QUELLE"] or mw.ustring.format("%s (Band %u)", getPageTitle(band), band))
	if band == 9 and not args["QUELLE"] then
		page = mw.ustring.sub(page, 1, -10) -- ohne " (Band 9)"
	end
	
	local section = name
	if args[3] then
		section = name .. " " .. args[3]
	end
	
	local pattern = "%[%[BLKÖ:" .. mw.ustring.gsub(name, "([%(%)%-])", "%%%1") .. "[^|]*|([^%]]+)%]%]"
	local content = mw.ustring.gsub(frame:callParserFunction("#lst", page, section), pattern, "%1", 1)
	return mw.ustring.format("%s [[%s|[Band %u, S. %s]]]", content, page, band, args[2])
end

return p