Module:Case

From Heroes 3 wiki
Revision as of 23:13, 22 May 2021 by Imahero (talk | contribs)
Jump to navigation Jump to search

See usage on Script error: The function "title_case" does not exist., Template:u, and template:l.


local p = {} --p stands for package

langObject = mw.getLanguage('simple')

function p.all_uppercase(frame)
	plain = false
	if frame.args.plain == "true" then
		plain = true
	end
	split = frame.args.split
	if split == "space" then
		split = " "
	end
	replace = split
	if frame.args.replace ~= "nil" then
		replace = frame.args.replace
	end
	parts = mw.text.split(frame.args.link, split, plain)
	title = ""
	for _, part in pairs(parts) do
	  title = title .. langObject:ucfirst(string.lower(part)) .. replace
	end
	if table.getn(parts) > 1 then
		title = string.sub(title, 0, string.len(title) - string.len(replace))
	end
    return "[[" .. frame.args.link .. "|" .. title .. "]]"
end

function p.uppercase_first_letter(frame)
    return "[[" .. frame.args.link .. "|" .. langObject:ucfirst(string.lower(frame.args.link)) .. "]]"
end

function p.lowercase(frame)
    return "[[" .. frame.args.link .. "|" .. string.lower(frame.args.link) .. "]]"
end

return p