Modul:Wiki: Unterschied zwischen den Versionen

364 Bytes hinzugefügt ,  24. Dezember 2025
setPagenames() + namespace
(getArgs() ohne Lücken zurück zu lassen)
(setPagenames() + namespace)
Zeile 16: Zeile 16:
local split = str.split2(pagename, "/")
local split = str.split2(pagename, "/")
return split[#split] -- letztes Element in der table nach letztem Slash
return split[#split] -- letztes Element in der table nach letztem Slash
end
function p.namespace()
local fullpagename = p.fullpagename()
local split = str.split2(fullpagename, ":")
if #split == 1 then
return ""
end
return split[1]
end
end


Zeile 24: Zeile 33:
-- fullpagename
-- fullpagename
pagesnames.fullpagename = tostring(mw.title.getCurrentTitle())
pagesnames.fullpagename = tostring(mw.title.getCurrentTitle())
-- namespace
local split = str.split2(pagesnames.fullpagename, ":")
if #split == 2 then
pagesnames.namespace = split[1]
else
pagesnames.namespace = ""
end
-- pagename
-- pagename
local split = str.split2(pagesnames.fullpagename, ":")
pagesnames.pagename = split[#split] -- letztes Element in der table nach Doppelpunkt
pagesnames.pagename = split[#split] -- letztes Element in der table nach Doppelpunkt
-- subpagename
-- subpagename
Zeile 33: Zeile 48:
if type(table) == "table" then
if type(table) == "table" then
table.fullpagename = pagesnames.fullpagename
table.fullpagename = pagesnames.fullpagename
table.namespace = pagesnames.namespace
table.pagename = pagesnames.pagename
table.pagename = pagesnames.pagename
table.subpagename = pagesnames.subpagename
table.subpagename = pagesnames.subpagename
Zeile 39: Zeile 55:
-- mw.logObject(pagesnames)
-- mw.logObject(pagesnames)
return pagesnames
return pagesnames
end
function p.namespace()
local fullpagename = p.fullpagename()
local split = str.split2(fullpagename, ":")
if #split == 1 then
return ""
end
return split[1]
end
end


Zeile 55: Zeile 62:


function p.getArgs(args, argslist)
function p.getArgs(args, argslist)
-- liefert entweder die in argslist angegebenen Agrumente zurück
-- oder ohne argslist werden alle Argumente rückgeliefert
-- dabei werden leere ("") Argumente entfernt und ein empty-Flag rückgeliefert
local result, empty = {}, true
local result, empty = {}, true
if argslist ~= nil then -- mit argslist
if type(argslist) == "table" then -- mit argslist
for _, a in ipairs(argslist) do
for _, a in ipairs(argslist) do
local v = args[a] or ""
local v = args[a] or ""