Communauté  • Livre d'or
Chats noirs.jpg Actualités, astuces, interview... Venez lire la gazette de ce printemps de Vikidia ! DessinInterview.png
Cette page est semi-protégée.

Module:Boîte à droite

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

Le module : Boîte à droite sert à créer différents modèles qui n’ont en commun que d’afficher des boîtes sur la droite de la page, pour favoriser une possible unification du rendu. D’autre modules sont également responsables de modèles du genre, comme le module : Boîte thématique (sans « grosse icône »).

Le modèle expose pour l’instant :

local p = {}

-- [[modèle : Page d'aide]]
function p.Aide( frame )
	local args = frame:getParent().args

	-- choix dans la date
	local date = args['date']
	if not date or date == '' then
		date = frame:preprocess( '{{#time:j F Y|{{REVISIONTIMESTAMP}}}}' )
	end
	date = '<span style="white-space:nowrap;">' .. date .. '</span>'

	-- création de la liste des liens
	local liens = mw.html.create( 'ul' )
	liens:tag( 'li' ):wikitext( "'''[[Aide:Accueil|accueil de l’aide]]'''" ):done()
	     :tag( 'li' ):wikitext( "[[Vikidia:Bavardages|bavardages]]" ):done()

	if args['liens'] and args['liens'] ~= '' then
		liens:tag( 'li' ):wikitext( args['liens'] ):done()
	end

	-- création de la boîte
	local html = mw.html.create( 'div' )
	html:css( 'width', '30%' )
	    :css( 'clear', 'right' )
	    :css( 'float', 'right' )
	    :css( 'margin', '0 0 10px 20px' )
	    :css( 'padding', '3px' )
	    :css( 'border-width', '0 12px 3px 0' )
	    :css( 'border-style', 'solid' )
	    :css( 'background-color', 'white' )
	    :css( 'border-color', 'gray' )
	    :css( 'display', 'table' )
	    :css( 'text-align', 'center' )
	    :tag( 'div' ):addClass( 'nomobile' )
	                 :css( 'display', 'table-cell' )
	                 :css( 'vertical-align', 'middle' )
	                 :css( 'width', '100px' )
	                 :wikitext( '[[Fichier:Gnome-help.svg|75px|link=|alt=|class=noviewer]]' )
	                 :done()
	    :tag( 'div' ):addClass( 'liste-horizontale' )
	                 :css( 'display', 'table-cell' )
	                 :css( 'vertical-align', 'middle' )
	                 :tag( 'b' ):css( 'font-size', '110%' )
	                            :wikitext( 'Aide de Vikidia' )
	                 :done()
	                 :tag( 'p' ):wikitext( [=[Page mise à jour pour la dernière fois le ''']=] .. date .. [=['''. <span style="cursor:help" title="Si des décisions de la communauté ou des améliorations de MediaWiki avaient eu lieu depuis, les informations qu’elle présente pourraient ne plus être d’actualité.">[[Fichier:Interrogation.svg|17px|link=]]</span>]=] )
	                 :done()
	                 :newline()
	                 :wikitext( '<p><u>Voir aussi</u> :</p>' )
	                 :node( liens )

	-- ajout d’une catégorie
	if not args['nocat'] and args['nocat'] == '' then
		html:wikitext( '[[Catégorie:Aide sur Vikidia]]' )
	end

	return tostring( html )
end

-- [[modèle : Voir dico]]
function p.Dico( frame )
	local args = frame:getParent().args

	-- choix dans la page
	local page = args[1]
	if not page or page == '' then
		page = mw.title.getCurrentTitle().text
		if not args['nolcf'] or args['nolcf'] == '' then
			local lang = mw.language.getContentLanguage()
			page = lang:lcfirst( page )
		end
	elseif args['nolcf'] and args['nolcf'] ~= '' then
		error( 'erreur d’utilisation du modèle : Voir dico, le paramètre « nolcf » ne peut pas être présent avec un autre paramètre' )
	end

	-- création de la boîte
	local html = mw.html.create( 'div' )
	html:css( 'width', '25%' )
	    :css( 'clear', 'right' )
	    :css( 'float', 'right' )
	    :css( 'margin', '0 0 10px 20px' )
	    :css( 'padding', '3px' )
	    :css( 'border-width', '0 12px 3px 0' )
	    :css( 'border-style', 'solid' )
	    :css( 'background-color', 'white' )
	    :css( 'border-color', '#E77F1C' )
	    :css( 'display', 'table' )
	    :css( 'text-align', 'left' )
	    :tag( 'div' ):addClass( 'nomobile' )
	                 :css( 'display', 'table-cell' )
	                 :css( 'vertical-align', 'middle' )
	                 :css( 'text-align', 'center' )
	                 :css( 'width', '50px' )
	                 :wikitext( '[[Fichier:Le Dico des Ados small logo current.svg|32px|link=|alt=|class=noviewer]]' )
	                 :done()
	    :tag( 'div' ):css( 'display', 'table-cell' )
	                 :css( 'vertical-align', 'middle' )
	                 :wikitext( "Tu peux lire la [[:dico:" .. page
	                                                       .. "| définition de '''"
	                                                       .. page
	                                                       .. "''']] sur le [[Dico des Ados]]." )

	-- ajout d’une catégorie
	if not args['nocat'] and args['nocat'] == '' then
		html:wikitext( '[[Catégorie:Entrées du Dico]]' )
	end

	return tostring( html )
end

return p