Importer, Bürokraten, Moderatoren (CommentStreams), Strukturierte-Diskussionen-Bots, Oberflächenadministratoren, Push-Abonnementverwalter, Oversighter, Administratoren, Kampagnenbearbeiter (Hochladeassistent)
855
Bearbeitungen
(Die Seite wurde neu angelegt: „tools = {} function rmNamespace ( pageName ) local p = mw.ustring.gsub( pageName, '(.*):(.*)', '%1' ) return p end function tools.firstBasepagename(frame)…“) |
K (22 Versionen von wikivoyage:Modul:Tools importiert) |
||
| (23 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
-- internal Functions | |||
local function _getParameters( frame_args, arg_list ) | |||
local new_args = {}; | |||
local index = 1; | |||
local value; | |||
for i,arg in ipairs( arg_list ) do | |||
value = frame_args[arg] | |||
if value == nil then | |||
value = frame_args[index]; | |||
index = index + 1; | |||
end | |||
new_args[arg] = value; | |||
end | |||
return new_args; | |||
end | |||
function | local tools = {} | ||
local | |||
return | -- Functions to be used in other modules | ||
function tools.strtok ( stringStr, delimiterStr ) | |||
local s = stringStr..delimiterStr | |||
local words = {} | |||
for w in (s):gmatch('([^'..delimiterStr..']*)'..delimiterStr) do | |||
table.insert(words, w) | |||
end | |||
return words | |||
end | |||
function tools.rmNamespace ( pageName ) | |||
return tools.strtok(pageName,':')[2] or pageName | |||
end | |||
function tools.rmBRTag ( text ) | |||
return mw.ustring.gsub( text, '<br */*>', ' ' ) | |||
end | end | ||
function tools.firstBasepagename(frame) | -- Functions to be used in templates | ||
function tools.firstBasepagename (frame) | |||
local new_args = | local new_args = _getParameters( frame.args, {'page'} ); | ||
local page = new_args['page'] or ''; | local page = new_args['page'] or ''; | ||
return rmNamespace ( page ) | return tools.strtok(tools.rmNamespace(page),'/')[1] or page | ||
end | end | ||
return tools | return tools | ||