« Utilisateur:Jd/Skin bépo » : différence entre les versions

De Disposition de clavier bépo
Ligne 40 : Ligne 40 :
</source>
</source>


Le ''trigger'' peut en fait être n'importe de quel type, et pas forcément dans un item de liste : il suffit qu'il est la classe <code>trigger</code> (on pourrait donc utiliser des icônes…). L'infobulle doit être déclarée à sa suite par un élément de classe <code>tooltipContent</code>. La portion de code jQuery associée est à la section ''tooltips -- using the qTip library
Le ''trigger'' peut en fait être n'importe de quel type, et pas forcément dans un item de liste : il suffit qu'il ai la classe <code>trigger</code> (on pourrait donc utiliser des icônes…). L'infobulle doit être déclarée ''à sa suite'' par un élément de classe <code>tooltipContent</code>. La portion de code jQuery associée à tout cela est à la section commentée par ''tooltips -- using the qTip library''.
''.


Évidemment, la technique peut-être mise à profit ailleurs que dans le dock, mais il faudra faire attention aux identifiants et écrire un nouveau ''hook'' jQuery, peut-être en rationalisant le style associé (cf. la doc officielle).
Évidemment, la technique peut-être mise à profit ailleurs que dans le dock ; mais il faudra faire attention aux identifiants et sans doute écrire un nouveau ''hook'' jQuery peut-être en rationalisant le style associé (cf. la doc officielle) pour éviter de retaper ''grosso modo'' deux fois la même chose.

Version du 26 août 2009 à 01:26

Quelques notes sur la skin bépo (/skins/bepo/).

BUG Internet Explorer : plus de jQuery pour le moment sous IE, debug en cours. Donne une idée du résultat sans JavaScript...


Basée à l'origine sur le thème Cavendish (Mozilla Wiki), la skin finale a été synchronisée avec les fonctionnalités de la dernière version de Monobook (skin officielle de MediaWiki) et fait un large usage de jQuery pour créer, entre autre, des effets d'animation et de transparence. Les feuilles de styles (ne pas oublier MediaWiki:Bepo.css et MediaWiki:Common.css, qui sont dynamiques) sont donc à étudier en lien avec le fichier jquery-enhancements.js, qui contient les divers hooks JavaScript créés par mes soins. Normalement, l'ensemble fonctionne dans les navigateurs modernes et se dégrade correctement en l'absence de JavaScript.

TODO

  • d'autres bannières pour l'en-tête
  • contrôle de tous les modèles, certains sont cassés
  • ce qui est mentionné dans la section Avertissements

Avertissements

Un certain nombre de petits bugs subsistent en raison de particularités liées au thème actuel, Monobook. Ils ne pourront être résolus que lorsque le thème par défaut sera « Bepo ».

  • Des polices anormalement petites par-ci par-là. Essentiellement lié à des modèles qui déclarent en durs des styles non modifiables par une CSS externe (pas de classe ou d'identifiant définis). À terme, il faudra externaliser ces styles via des classes et ids, et les gérer par MediaWiki:Monobook.css, MediaWiki:Common.css et les CSS du thème Bepo. Je l'ai fait pour quelques modèles (exemple, {{touche}}).

jquery-enhancements.js : utilisation et astuces

Ne pas afficher le titre d'une page

La fonction commentée par delete some specific titles permet de déclarer certaines pages pour lesquelles le titre de niveau h1 ne doit pas apparaître. C'est notamment le cas de l'accueil et de la page principale d'installation.

Tooltips sur les liens du dock

Le dock (barre supérieure) peut recevoir des liens pour lesquels sont affichés des tooltips (infobulles) avec la librairie qTip. La déclaration se fait dans /skins/bepo.php, en respectant une certaine structure munie d'identifiant et de classes génériques. Les tooltips étant des div standard, elles peuvent contenir tout type de contenu valide.

La structure type est la suivante :

<li id="trigger-[nom du trigger]">
  <a href="#" class="trigger" title="xxx">Mon trigger</a>
  <div class="tooltipContent">
    ... contenu du tooltip
  </div>
</li>

Le trigger peut en fait être n'importe de quel type, et pas forcément dans un item de liste : il suffit qu'il ai la classe trigger (on pourrait donc utiliser des icônes…). L'infobulle doit être déclarée à sa suite par un élément de classe tooltipContent. La portion de code jQuery associée à tout cela est à la section commentée par tooltips -- using the qTip library.

Évidemment, la technique peut-être mise à profit ailleurs que dans le dock ; mais il faudra faire attention aux identifiants et sans doute écrire un nouveau hook jQuery — peut-être en rationalisant le style associé (cf. la doc officielle) pour éviter de retaper grosso modo deux fois la même chose.