Modul:Wiki: Unterschied zwischen den Versionen

Aus FürthWiki

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


return p
return p

Version vom 10. November 2025, 14:02 Uhr

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

return p