Modul:Wiki

Version vom 21. November 2025, 08:38 Uhr von HeikoBot (Diskussion | Beiträge) (+ getArgs() als Ersatz für getParentArgs())

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 page ~= nil and page ~= "" and string.find(page, "[#<>%[%]%|%{%}]") == nil and mw.title.new(tostring(page)).exists
end

function p.getParentArgs(pargs, argslist)
	local args = {}
	local empty = true
	for _, a in ipairs(argslist) do
		local v = pargs[a] or ""
		if v ~= "" then
			args[a] = v
			empty = false
		end
	end
	return args, empty
end

function p.getArgs(args, argslist)
	local result = {}
	local empty = true
	for _, a in ipairs(argslist) do
		local v = args[a] or ""
		if v ~= "" then
			result[a] = v
			empty = false
		end
	end
	return result, empty
end

return p