Module:Distinguish

From FiguraMC
  • 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}