Ce module est destiné à stocker des fonctions utiles sur le traitement des mots.

La fonction p.majuscule permet de mettre une majuscule à un mot. La fonction retournera le mot avec une première lettre sous forme de majuscule suivi de minuscules.

{{#invoke:Mot|majuscule|voiture}} nous donne : Voiture


La fonction p.extrait permet d'extraire le nom d'une page d'un lien

{{#invoke:Mot|extrait|[[ voiture|Automobile]]}} nous donne : voiture


local p = {}

require("Module:Réserve")

function p.majuscule(frame)
        -- Pour mettre tout en mot en capitales, utiliser {{uc:}}
	local phrase = frame.args[1]
	local debut = mw.ustring.sub(phrase,1,1)  --Extrait la première lettre de la phrase
	local fin = mw.ustring.sub(phrase,2)      --Extrait la fin de la phrase (sans la première lettre)
	return mw.ustring.upper(debut)..fin -- Reconstruit la phrase en mettant la première lettre en majuscule et le reste en minuscule
end

function p.minuscule(frame)
        -- Pour mettre tout en mot en bas de casse, utiliser {{lc:}}
	local phrase = frame.args[1]
	local debut = mw.ustring.sub(phrase,1,1)
	local fin = mw.ustring.sub(phrase,2)
	return mw.ustring.lower(debut)..fin
end

function p.extrait(frame)
	return decrochette(frame.args[1])
end

function p.typedep(frame)
	local phrase = frame.args[1]
	if phrase == "fiche de lecture" then
		phrase = "Fiches de lecture"
	elseif phrase == "base de données bibliographiques" then
		phrase = "Bases de données bibliographiques"
	elseif phrase == "sujet d'examen" then
		phrase = "Sujets d'examen"
	elseif phrase == "livre traduit" then
		phrase = "Livres traduits"
	elseif phrase == "documentation examen" then
		phrase = "Documentation examen"
	elseif phrase == "éveil pédagogique" then
		phrase = "Éveil pédagogique"
	elseif phrase == "lexiques" then
		phrase = "Lexiques"
	elseif phrase == "formulaires" then
		phrase = "Formulaires"
	elseif phrase == "thèse validée" then
		phrase = "Thèses validées"
	elseif phrase == "article validé" then
		phrase = "Articles validés"
	elseif phrase == "livre validé" then
		phrase = "Livres validés"
	else
		phrase = "Acquisitions non classées"
	end
	return phrase
end

function p.designefac(frame)
        -- permet de rajouter de ou d' devant un nom de faculté
	local faculte = frame.args[1]
	local de = ""
	local debut = mw.ustring.sub(faculte,1,1)  --Extrait la première lettre de la faculté
	if debut == "a" then
		de = "d'"
	elseif debut == "e" then
		de = "d'"
	elseif debut == "i" then
		de = "d'"
	elseif debut == "o" then
		de = "d'"
	elseif debut == "u" then
		de = "d'"
	elseif debut == "y" then
		de = "d'"
	elseif debut == "h" then
		de = "d'"
	elseif debut == "é" then
		de = "d'"
	else
		de = "de "
	end
	return de..faculte
end

function p.espace(frame)
        -- permet de mettre des espaces entre deux mots ou avant un mot
	local nbresp = tonumber(frame.args[1])
	local espacement = ""
	for i = 1, nbresp do
		espacement = espacement.." "
	end
	return espacement
end

return p