Module:Separated entries: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 7: | Line 7: | ||
end | end | ||
local args = getArgs(frame, { | local args = getArgs(frame, { | ||
-- wrappers = 'Template:Concat' -- Wrappers invokes frame:title() | -- wrappers = 'Template:Concat', -- Wrappers invokes frame:title() | ||
parentOnly = true, | |||
trim = false | |||
}) | }) | ||
return p._main(args, args.sep) | |||
end | |||
function p._main(args, sep) | |||
args = args or {} | |||
sep = sep or ', ' | |||
local iargs = {} | local iargs = {} | ||
for k, v in pairs(args) do | for k, v in pairs(args) do | ||
if type(k) == 'number' and k >= 1 and math.floor(k) == k and | if type(k) == 'number' and k >= 1 and math.floor(k) == k and mw.ustring.find(v, '%S') then | ||
table.insert(iargs, k) | table.insert(iargs, k) | ||
end | end | ||
Line 18: | Line 25: | ||
table.sort(iargs) | table.sort(iargs) | ||
for i, v in ipairs(iargs) do | for i, v in ipairs(iargs) do | ||
iargs[i] = | iargs[i] = mw.text.trim(args[v]) | ||
end | end | ||
return table.concat(iargs, sep) | return table.concat(iargs, sep) | ||
end | end | ||
return p | return p |
Revision as of 20:00, 26 July 2014

This module was adapted from Module:Separated entries on Wikipedia.
Adaptation is noted for reference and attribution only. This module may differ from the original in function or in usage. The documentation on Wikipedia may be helpful in understanding this module.
Adaptation is noted for reference and attribution only. This module may differ from the original in function or in usage. The documentation on Wikipedia may be helpful in understanding this module.
The above documentation is transcluded from Module:Separated entries/doc.
Editors can experiment in this module's sandbox and testcases pages.
Subpages of this module.
Editors can experiment in this module's sandbox and testcases pages.
Subpages of this module.
local p = {}
local getArgs
function p.main(frame)
if not getArgs then
getArgs = require('Module:Arguments').getArgs
end
local args = getArgs(frame, {
-- wrappers = 'Template:Concat', -- Wrappers invokes frame:title()
parentOnly = true,
trim = false
})
return p._main(args, args.sep)
end
function p._main(args, sep)
args = args or {}
sep = sep or ', '
local iargs = {}
for k, v in pairs(args) do
if type(k) == 'number' and k >= 1 and math.floor(k) == k and mw.ustring.find(v, '%S') then
table.insert(iargs, k)
end
end
table.sort(iargs)
for i, v in ipairs(iargs) do
iargs[i] = mw.text.trim(args[v])
end
return table.concat(iargs, sep)
end
return p