local p = {}
function p.main(f)
local args = f
if f == mw.getCurrentFrame() then
args = f:getParent().args
end
f = mw.getCurrentFrame()
local wrapTag = args.wrap or ''
local delimiter = args.delimiter or args.d or ''
local arr = {}
for k, v in pairs(args) do
if tonumber(k) ~= nil then
if wrapTag ~= '' then
arr[k] = f:extensionTag(wrapTag, v)
else
arr[k] = v
end
end
end
table.sort(arr)
if delimiter == 'pretty' then
return mw.text.listToText(arr)
elseif delimiter == 'newline' or delimiter == 'br' then
return table.concat(arr, '<br>')
elseif delimiter == 'list' or delimiter == 'list-newline'
or delimiter == 'bullet' or delimiter == '*' then
local listLevel = args['list-level'] or '**'
return table.concat(arr, '\n' .. listLevel)
else
return table.concat(arr, delimiter)
end
end
return p
Advertisement
Advertisement