Module:Liste éléments
Révision datée du 7 juillet 2019 à 05:00 par fr>Od1n (complétion de la modif précédente ; je ne sais plus si cette omission était volontaire ou un oubli, en tout cas présentement, il me semble préférable d'utiliser la classe ici aussi)
La documentation pour ce module peut être créée à Module:Liste éléments/doc
local z = {} function z.main(frame) local args = frame:getParent().args local trimFunc = mw.text.trim -- cache accès global local function getParam(name, default) if args[name] ~= nil and args[name] ~= '' then return args[name] else return default -- nil si non spécifié end end local paramSep = getParam('séparateur', getParam('sép', '·')) local espaces = tonumber(getParam('espaces', '1')) local glue if paramSep == ',' then glue = ', ' elseif mw.text.unstripNoWiki(paramSep) == ' ' or paramSep == ' ' then -- {{espace}} if espaces == 0 then glue = '' else glue = string.rep('\194\160', espaces - 1) .. paramSep end elseif paramSep == ' ' or paramSep == ' ' then glue = string.rep(paramSep, espaces) elseif paramSep == '2·' or paramSep == '·2' then -- '\194\160' est une espace insécable (code UTF-8 sur deux octets) glue = '\194\160\194\160<span class="sep-liste">·</span>\194\160 ' elseif paramSep == '2•' or paramSep == '•2' then glue = '\194\160\194\160•\194\160 ' else if paramSep == '·' then paramSep = '<span class="sep-liste">·</span>' elseif paramSep == '-' then paramSep = '–' -- tiret demi-cadratin end if espaces == 0 then glue = paramSep else glue = string.rep('\194\160', espaces) .. paramSep .. string.rep('\194\160', espaces - 1) .. ' ' end end local secable = (args['sécable'] == 'oui') local items = {} for i,v in ipairs(args) do local item = trimFunc(v) if item ~= '' then if not secable then item = '<span class="nowrap">'..item..'</span>' end items[#items+1] = item end end return table.concat(items, glue) end return z