Module:Cslist
MyWikiBiz, Author Your Legacy — Thursday November 14, 2024
Jump to navigationJump to searchModule to implement Template:Cslist, which creates a horizontal list similar to Template:Hlist but using comma separators instead of mid-dots.
It can take as many list items as desired, and also an optional Template:Para, which when set to true
or yes
will use a semicolon as separator in place of the comma.
Note: the unordered list which is generated is good for accessibility, but really is only useful in tables and infoboxes as an alternative to using {{hlist}}. It should not be used in running prose.
Examples
{{cslist | first item | second item | third item | etc}} → Template:Cslist
|
{{cslist | first item | second item | third item | etc |semi=true}} → Template:Cslist
|
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 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 listclass = listclass .. "cslist" end if embedded then listclass = listclass .. " cslist-embedded" end if out ~= "" then return '<ul class="'.. listclass ..'">' .. out .. '</ul>' end end return p