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 thématique

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

Ce module lua sert à créer une boîte thématique.

Qu’est-ce qu’une boîte thématique ?

Une boîte thématique est un modèle contenant des liens pour naviguer vers des sujets voisins de l’article. C’est un cadre qui se met, sur un écran d’ordinateur, en haut à droite de la page. L’appel au modèle est donc fait au début de l’article, après les modifications de titre et les bandeaux d’ébauche et d’homonymie.

Pourquoi utiliser une boîte thématique ?

Les boîtes thématiques sont une mauvaise idée (et elles ont été supprimées de la Wikipédia francophone pour de bonnes raisons). Si possible, utilise plutôt une palette de navigation, c’est-à-dire un modèle contenant des liens qui se place tout en bas de l’article. Ce module a été créé pour gérer les boîtes existantes.

Comment faire une boîte thématique ?

Pour créer une boîte thématique malgré tout (voir section précédente), crée une page de l’espace Modèle: avec le code :

{{#invoke:Boîte thématique|Boite
 | couleur fond = #F6FFB2 <!-- tu peux changer la couleur de fond ici -->
 | couleur bord = #F0B020 <!-- tu peux changer la couleur du bord ici -->
 | titre        = <!-- petit titre comme : « Sur les [[mégalithe]]s » -->
 | texte        = <!-- liste avec des liens ; ordonnée (#) ou non (*) -->
* [[Dolmen]]
* [[Menhir]]
* [[Allée couverte]]
* [[Stonehenge]] 
* [[Cromlech]]
* [[Tumulus]]
* [[Cairn]]
}}<noinclude>
{{DEFAULTSORT:Megalithe}}
[[Catégorie:Boîte thématique]]
</noinclude>

et inclus ce modèle sur toutes les pages pour lesquelles il y a un lien.

local p = {}

function p.Boite( frame )
	local html = mw.html.create( 'div' )
	html:css( 'width', 'auto' )
	    :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', frame.args['couleur fond'] )
	    :css( 'border-color',     frame.args['couleur bord'] )
	    :tag( 'b' ):addClass( 'en-savoir-plus' )
	               :css( 'text-indent', '2.4em' )
	               :wikitext( frame.args['titre'] )
	               :done()
	    :newline()
	    :wikitext( frame.args['texte'] )
	return tostring( html )
end

return p