Module:Separated entries: Difference between revisions

no edit summary
m (1 revision imported)
No edit summary
Line 8: Line 8:


function p._main(args)
function p._main(args)
local span = args.span or false
local separator = args.separator
local separator = args.separator
-- Decode (convert to Unicode) HTML escape sequences, such as " " for space.
-- Decode (convert to Unicode) HTML escape sequences, such as " " for space.
and mw.text.decode(args.separator) or ''
and mw.text.decode(args.separator) or ''
if span then
separator = '</span>' .. separator .. '<span>'
end
local conjunction = args.conjunction and mw.text.decode(args.conjunction) or separator
local conjunction = args.conjunction and mw.text.decode(args.conjunction) or separator
-- Discard values before the starting parameter.
-- Discard values before the starting parameter.
Line 19: Line 23:
-- Discard named parameters.
-- Discard named parameters.
local values = compressSparseArray(args)
local values = compressSparseArray(args)
return mw.text.listToText(values, separator, conjunction)
if span then
return mw.text.tag( span, {}, mw.text.listToText(values, separator, conjunction) )
else
return mw.text.listToText(values, separator, conjunction)
end
end
end


Line 35: Line 43:
p.br = makeInvokeFunction('<br />')
p.br = makeInvokeFunction('<br />')
p.comma = makeInvokeFunction(mw.message.new('comma-separator'):plain())
p.comma = makeInvokeFunction(mw.message.new('comma-separator'):plain())
return p
return p