Module:Cslist: Difference between revisions
Appearance
Content deleted Content added
sync from sandbox |
TheThomanski (talk | contribs) support for 'and' list with oxford comma Tag: Reverted |
||
Line 9: | Line 9: | ||
local semi = (args.semi or ""):sub(1,1):lower() |
local semi = (args.semi or ""):sub(1,1):lower() |
||
semi = (semi == "t") or (semi == "y") |
semi = (semi == "t") or (semi == "y") |
||
local oxford = (args.oxford or ""):sub(1,1):lower() |
|||
local embedded = (args.embedded or ""):sub(1,1):lower() |
local embedded = (args.embedded or ""):sub(1,1):lower() |
||
embedded = (embedded == "y") |
embedded = (embedded == "y") |
||
Line 22: | Line 23: | ||
listclass = listclass .. "sslist" |
listclass = listclass .. "sslist" |
||
else |
else |
||
if oxford then |
|||
⚫ | |||
if args[3] then |
|||
listclass = listclass .. "andlistoxford" |
|||
else |
|||
listclass = listclass .. "andlist" |
|||
end |
|||
else |
|||
⚫ | |||
end |
|||
end |
end |
||
if embedded then |
if embedded then |
Revision as of 15:48, 12 March 2025
![]() | This Lua module is used on approximately 2,500 pages and changes may be widely noticed. Test changes in the module's /sandbox or /testcases subpages, or in your own module sandbox. Consider discussing changes on the talk page before implementing them. |
Module to implement Template:Cslist, which creates a horizontal list similar to Template:Hlist but using comma separators instead of mid-dots. See template documentation for usage.
p = {}
p.makelist = function(frame)
local args = frame.args
if not args[1] then
args = frame:getParent().args
if not args[1] then return end
end
local semi = (args.semi or ""):sub(1,1):lower()
semi = (semi == "t") or (semi == "y")
local oxford = (args.oxford or ""):sub(1,1):lower()
local embedded = (args.embedded or ""):sub(1,1):lower()
embedded = (embedded == "y")
local out = ""
for k, v in ipairs(args) do
v = mw.text.trim(v)
if v ~= "" then
out = out .. "<li>" .. v .. "</li>"
end
end
local listclass = ""
if semi then
listclass = listclass .. "sslist"
else
if oxford then
if args[3] then
listclass = listclass .. "andlistoxford"
else
listclass = listclass .. "andlist"
end
else
listclass = listclass .. "cslist"
end
end
if embedded then
listclass = listclass .. " cslist-embedded"
end
if out ~= "" then
return '<ul class="'.. listclass ..'">' .. out .. '</ul>'
end
end
return p