Module:Distinguish: Difference between revisions

From FiguraMC
mNo edit summary
m lua doin a little trollin
 
(6 intermediate revisions by 3 users not shown)
Line 1: Line 1:
function hatnoteDistinguish(frame)
function hatnoteDistinguish(frame)
local args = frame.args
local args = frame:getParent().args
    if not args[1] then return frame:expandTemplate { title = [[Hatnote]]; args = { [[Not to be confused. ]]; }; }; end;
local final = {}
local final = {}
Line 6: Line 7:
table.insert(final, "[[" .. v .. "]]")
table.insert(final, "[[" .. v .. "]]")
end
end
local sep = " "
if #final > 1 then
if #final > 1 then
final[#final] = "or " .. final[#final]
final[#final] = "or " .. final[#final]
if #final > 2 then
sep = ", "
else
sep = " "
end
end
end
return frame:expandTemplate{title = "Hatnote", args = {"Not to be confused with " .. table.concat(final, ", ")}}
return frame:expandTemplate{title = "Hatnote", args = {"Not to be confused with " .. table.concat(final, sep) .. "."}}
end
end


return {["hatnote"] = hatnoteDistinguish}
return {["hatnote"] = hatnoteDistinguish}

Latest revision as of 01:39, 29 September 2024

  • Not to be confused.
  • Not to be confused with Foo.
  • Not to be confused with Foo or Bar.
  • Not to be confused with Foo, Bar, or Baz.

function hatnoteDistinguish(frame)
	local args = frame:getParent().args
    if not args[1] then return frame:expandTemplate { title = [[Hatnote]]; args = { [[Not to be confused. ]]; }; }; end;
	local final = {}
	
	for k, v in ipairs(args) do
		table.insert(final, "[[" .. v .. "]]")
	end
	local sep = " "
	if #final > 1 then
		final[#final] = "or " .. final[#final]
		if #final > 2 then
			sep = ", "
		else
			sep = " "
		end
	end
	return frame:expandTemplate{title = "Hatnote", args = {"Not to be confused with " .. table.concat(final, sep) .. "."}}
end

return {["hatnote"] = hatnoteDistinguish}