Module:Unique Name Case

local p = {}

function p.uniqueNameCase(frame) local delimiter = " " local first = false if frame.args['delimiter'] ~= nil then delimiter = frame.args['delimiter'] end local trimmed = "" for i in string.gmatch(frame.args[1], "([^"..delimiter.."]+)") do if first then trimmed = trimmed .. delimiter end trimmed = trimmed .. i		first = true end return string.gsub(delimiter..trimmed, "%W%l", string.upper):sub(2) end

return p