Hollie Little Pink Laptop.jpg
Garçon devant un ordinateur.jpg

Le Livre d'or  • avoir tout Vikidia hors-connexion

Participez à améliorer Vikidia : Pilpay, L'Île au trésor, Sorgho, Chasseur-cueilleur, et 300 autres articles importants et trop courts à compléter. Vos contributions sont les bienvenues !
Cette page est protégée.

Module:Émoticône

Aller à la navigation Aller à la recherche
 Documentation[modifier] [purger]

Le module : Émoticône sert à être sûr que les émoticônes (smileys) appelés par les modules sont les mêmes que ceux appelés par les modèles. Il offre donc pour chaque image une fonction accessible depuis les modules (commence par une minuscule), et une autre à appeler depuis le modèle correspondant (commence par une majuscule), plus une troisième (celle qui est locale) qui contient le nom de l’icône. Ceci est gourmand en ressource, donc changera peut-être à un moment.

Sont gérés pour le moment :

La fonction Smiley peut être appelée pour créer un modèle autre, mais n’est pas pour l’instant (décembre 2022) utilisée.

local p = {}

local function smiley( image, taille, description )
	return '[[Fichier:'
	    .. image
	    .. '|'
	    .. taille
	    .. 'px|'
	    .. description
	    .. '|link=]]'
end

--
-- Fonctions pour un clin d’œil
--

local function clin( taille )
	return smiley( 'Clin.png',
	               taille or '30',
	               'Clin d’œil' )
end

function p.clin( canari, taille )
	if canari ~= nil then
		error( 'utilise la fonction « Clin » au lieu de la fonction « clin »' )
	end
	return clin( taille )
end

function p.Clin( frame )
	return clin( frame:getParent().args[1] )
end

--
-- Fonctions pour un mouais
--

local function mouais( taille )
	return smiley( 'Bof.png',
	               taille or '30',
	               'Mouais' )
end

function p.mouais( canari, taille )
	if canari ~= nil then
		error( 'utilise la fonction « Mouais » au lieu de la fonction « mouais »' )
	end
	return mouais( taille )
end

function p.Mouais( frame )
	return mouais( frame:getParent().args[1] )
end

--
-- Fonctions pour une langue
--

local function plaisante( taille )
	return smiley( 'Plaisante.png',
	               taille or '25',
	               'Na ! Je rigole !' ) -- TODO faire mieux
end

function p.plaisante( canari, taille )
	if canari ~= nil then
		error( 'utilise la fonction « Plaisante » au lieu de la fonction « plaisante »' )
	end
	return plaisante( taille )
end

function p.Plaisante( frame )
	return plaisante( frame:getParent().args[1] )
end

--
-- Fonctions pour un éclat de rire
--

local function rire( taille )
	return smiley( 'Rire.png',
	               taille or '30',
	               'Rire' )
end

function p.rire( canari, taille )
	if canari ~= nil then
		error( 'utilise la fonction « Rire » au lieu de la fonction « rire »' )
	end
	return rire( taille )
end

function p.Rire( frame )
	return rire( frame:getParent().args[1] )
end

--
-- Fonctions pour un sourire
--

local function content( taille )
	return smiley( 'Face-smile.svg',
	               taille or '30',
	               'Content' )
end

function p.content( canari, taille )
	if canari ~= nil then
		error( 'utilise la fonction « Content » au lieu de la fonction « content »' )
	end
	return content( taille )
end

function p.Content( frame )
	return content( frame:getParent().args[1] )
end

--
-- Fonctions pour montrer la confusion
--

local function confusion( taille )
	return smiley( 'Confusion.gif',
	               taille or '35',
	               'Confusion' )
end

function p.confusion( canari, taille )
	if canari ~= nil then
		error( 'utilise la fonction « Confusion » au lieu de la fonction « confusion »' )
	end
	return confusion( taille )
end

function p.Confusion( frame )
	return confusion( frame:getParent().args[1] )
end

--
-- Fonctions pour un king
--

local function king( taille )
	return smiley( 'King.png',
	               taille or '38',
	               'Je suis le Maître du Mooooonde le seul maître du monde... euhhh c’est quoi mon discours après ?!' ) -- TODO changer ça
end

function p.king( canari, taille )
	if canari ~= nil then
		error( 'utilise la fonction « King » au lieu de la fonction « king »' )
	end
	return king( taille )
end

function p.King( frame )
	return king( frame:getParent().args[1] )
end

--
-- Fonction générique
--

function p.Smiley( frame )
	return smiley( frame.args[1],
	               frame:getParent().args[1] or '30',
	               frame.args[2] )
end

return p