Module:Cslist: Difference between revisions

From Sapiens
Jump to navigationJump to search
m (1 revision imported)
m (1 revision imported)
 
(One intermediate revision by one other user not shown)
Line 7: Line 7:
if not args[1] then return end
if not args[1] then return end
end
end
local semi = (args.semi or ""):sub(1,1):lower()
semi = (semi == "t") or (semi == "y")
local semi = args.semi
local embedded = (args.embedded or ""):sub(1,1):lower()
if semi then semi = semi:lower() end
embedded = (embedded == "y")
local oxford = args.oxford
if oxford then oxford = oxford:lower() end
local embedded = args.embedded
if embedded then embedded = embedded:lower() end
local out = ""
local out = ""
for k, v in ipairs(args) do
for k, v in ipairs(args) do
Line 22: Line 26:
listclass = listclass .. "sslist"
listclass = listclass .. "sslist"
else
else
listclass = listclass .. "cslist"
if oxford then
if args[3] then
listclass = listclass .. "andlistoxford"
else
listclass = listclass .. "andlist"
end
else
listclass = listclass .. "cslist"
end
end
end
if embedded then
if embedded then

Latest revision as of 01:31, 14 February 2026

Documentation for this module may be created at Module:Cslist/doc

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
	if semi then semi = semi:lower() end
	local oxford = args.oxford
	if oxford then oxford = oxford:lower() end
	local embedded = args.embedded
	if embedded then embedded = embedded:lower() end
	
	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