Aller au contenu

Module:Capitalize

Une page de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 2 septembre 2021 à 03:35 et modifiée en dernier par Od1n (discuter | contributions) (cache lookup de la fonction mw.ustring.find(), comme il avait déjà été fait pour mw.ustring.sub()). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.

 Documentation[voir] [modifier] [historique] [purger]

Utilisation

Fonctions exportables :

  • fonction(frame) – description (courte description de fonction(frame) et autres informations pertinentes).
  • fonction2() – description2 (courte description de fonction2() et autres informations pertinentes).

Autres fonctions :

  • fonction() – description2 (courte description de fonction() et autres informations pertinentes).

Modules externes et autres éléments dont ce module a besoin pour fonctionner :

  • mw.title – description (courte description expliquant la dépendance de ce module externe).

Exemples

plop

Plop

plop

Plop

plop


local p = {}

function p.cap(str, uncap)
	local lang = mw.getContentLanguage()
	local cap = not (uncap)
	local change = function (str)
		if cap then
			return lang:ucfirst(str)
		else
			return lang:lcfirst(str)
		end
	end
	if change(str) ~= str then
		return change(str)
	else
		local findstr = mw.ustring.find
		local substr = mw.ustring.sub
		local b, e = findstr(str, ">%s*%a")
		while e ~= nil do
			if findstr(">", substr(str, b, e)) == nil then
				return substr(str, 1, e-1) .. change(substr(str, e, e)) .. substr(str, e+1)
			end
			b, e = findstr(str, ">%s*%a", e)
		end
		return str
	end
end

function p.capitalize(frame)
	local uncap = (frame.args[2] and frame.args[2] ~= "") or false
	local res = frame:preprocess(frame.args[1])
	return p.cap(res, uncap)
end

return p