Modul:Wiki

Aus FürthWiki

Version vom 18. Oktober 2025, 17:37 Uhr von HeikoBot (Diskussion | Beiträge) (mehrzahl() hierher verschoben)

Diese Modul stellt MediaWiki-Funktionen bereit, die so schneller erreichbar sind, als dass man sie erst durch den Parser z.B. via frame:callParserFunction() schicken müsste.

Unterseiten

Siehe auch


local p = {}
local str = require("Modul:String")

function p.fullpagename()
	return tostring(mw.title.getCurrentTitle())
end

function p.pagename()
	local fullpagename = p.fullpagename()
	local split = str.split2(fullpagename, ":")
	return split[#split] -- letztes Element in der table nach Doppelpunkt
end

function p.subpagename()
	local pagename = p.pagename()
	local split = str.split2(pagename, "/")
	return split[#split] -- letztes Element in der table nach letztem Slash
end

function p.setPagenames(table)
--	mw.log("setPagenames(table)")
--	mw.logObject(table)
	local pagesnames = {}
	-- fullpagename
	pagesnames.fullpagename = tostring(mw.title.getCurrentTitle())
	-- pagename
	local split = str.split2(pagesnames.fullpagename, ":")
	pagesnames.pagename = split[#split] -- letztes Element in der table nach Doppelpunkt
	-- subpagename
	split = str.split2(pagesnames.pagename, "/")
	pagesnames.subpagename = split[#split] -- letztes Element in der table nach letztem Slash
	-- table setzen
	if type(table) == "table" then
		table.fullpagename = pagesnames.fullpagename
		table.pagename = pagesnames.pagename
		table.subpagename = pagesnames.subpagename
	end
--	mw.logObject(table)
--	mw.logObject(pagesnames)
	return pagesnames
end

function p.pageexists(page)
	return mw.title.new(page).exists
end

function p.Mehrzahl(frame)
	return p.mehrzahl(frame.args[1] or "")
end

function p.mehrzahl(ez)
	local mehrzahlen = {
		["Areal"]		= "Areale",
		["Audio"]		= "Audios",
		["Bild"]		= "Bilder",
		["Brücke"]		= "Brücken",
		["Buch"]		= "Bücher",
		["Datei"]		= "Dateien",
		["Ereignis"]	= "Ereignisse",
		["Faktenbox"]	= "Faktenboxen",
		["Gaststätte"]	= "Gaststätten",
		["Jahr"]		= "Jahre",
		["Jahrestag"]	= "Jahrestage",
		["Kirche"]		= "Kirchen",
		["Klasse"]		= "Klassen",
		["Monat"]		= "Monate",
		["Objekt"]		= "Objekte",
		["Person"]		= "Personen",
		["Schule"]		= "Schulen",
		["Stadtteil"]	= "Stadtteile",
		["Stadtwiki"]	= "Stadtwikis",
		["Straße"]		= "Straßen",
		["Video"]		= "Videos"
	}
	return mehrzahlen[ez] or ez
end

return p