Une table des matières à l'intérieur de vos billets?

Publié le 25 novembre 2009 par Zenstyle

C'était jusque là impossible car rien ne proposait. Il y a d'ailleurs eu simultanément sur le forum et la mailing list du lab des demandes dans ce sens. Techniquement, c'était complètement faisable, le gros du boulot était surtout axé sur les quelques expressions régulières à bien formuler. Je me suis donc dit que j'allais regarder ça de plus près.

Après des essais probants sur la faisabilité de la chose, il me fallait convertir le bout de script de j'avais codé à l'arrache sur un coin de table, en plugin Dotclear. Oui mais[1]... j'ai déjà dans ma panoplie le plugin multiToc qui permet de faire des tables des matières pour tous les billets publiés. Autant intégrer ce que j'avais fait dans ce plugin, c'était tout indiqué! Ni une, ni deux, c'est ce que j'ai fait et il en résulte multiToc v1.4

Cette version permet donc de créer une table des matières pour les billets. Un petit bouton dans l'interface d'édition rajoute le marqueur

::TOC::

la où vous le souhaitez. Lors de l'affichage coté public[2], le plugin analysera le billet pour voir si ce dernier est présent. Si oui, il va scanner tous les titres que vous avez rédigé et génèrera la table des matières en fonction. Si aucun titre n'est présent ou que le marqueur est absent, c'est bien sur le comportement classique qui sera appliqué.

Pour vous donner une idée :

J'en ai profité pour faire un peu de ménage dans le plugin et optimiser les *.js et *.css. Autre information utile aussi, cette fonctionnalité est disponible pour les pages

Vous trouverez l'archive ZIP ici.

Enjoy!

Notes

[1] il y a toujours un mais

[2] à condition que vous ayez activé la table des matières pour les billets bien sur