Objectif
L’objectif de ce plugin est d’ajouter des ancres html calculées en fonction du texte de l’intertitre, et de fournir une balise pour afficher la « table des matières » d’un article (contenu de #TEXTE
)
Fonctionnement
Les intertitres ( notés {{{intertitre}}}
) seront transformés en <h3 class="spip"><a name="intertitre"></a>intertitre <a href="tdm"><img ... /></a></h3>
Le contenu de l’attribut name est calculé selon une méthode approchant celle des urls propres de spip. Aussi un intertitre {{{ceci est un intertitre spécial}}}
sera transforme en <h3 class="spip"><a name="ceci-est-un-intertitre-special"></a>ceci est un intertitre spécial</h3>
Chaque intertitre est mémorisé avec son ancre correspondante pour être reproduite dans la balise #TABLE_MATIERES
Installation
Télécharger l’archive ci-joint, puis décompresser le fichier. Copier ce répertoire tables_matieres dans le répertoire « plugins » de votre site spip. Alternativement, vous l’aurez trouvé dans l’interface de chargement automatique de SPIP, il se trouve alors dans plugins/auto
Configuration
Le plugin dispose d’un menu de configuration qui permet de choisir :
- si la table des matières doit s’insérer automatiquement ou via l’appel de la balise
#TABLE_MATIERES
- A partir de combien d’intertitres minimum, il faut générer la table des matières
- Le format des ancres générées
- ....
Utilisation
Les intertitres seront calculés automatiquement. Pour afficher la table des matières, ajouter la balise #TABLE_MATIERES
dans votre squelette à l’intérieur d’une boucle ARTICLES.
#TABLE_MATIERES
affichera les ancres de la manière suivante par défaut :
<div id="tdm" class="divers">
<h2 class="menu-titre">Table des matières</h2>
<ul>
<li><a href="#intertitre-1">intertitre-1</a></li>
<li><a href="#intertitre-2">intertitre-2</a></li>
<li><a href="#intertitre-3">intertitre-3</a></li>
</ul>
</div>
Ce qui est un modèle CSS connu puisque tout proche de celui des noisettes de la barre de navigation des squelettes par défaut de SPIP.
Notez la présence d’un noeud DOM #tdm
pour permettre l’aller/retour entre la table et les intertitres par simple clic, personnaliser l’habillage en CSS ou jouer avec la table en jQuery.
Personnalisation
Il est possible de personnaliser le modèle fourni en surchargeant le fichier modeles/tables_matieres.html
Prérequis
Ce plugin nécessite une version de SPIP récente (révision minimum : 9738, introduction de la balise #FOREACH)
Discussions par date d’activité
24 discussions
Ok avec la 1.9.3 ca fonctionne, mais dès qu’on met du Latex, ca plante ....
La table des matières est opérationnelle mais le tex est déterioré ....
En voici le Code
Sans le plugin activé le tex est nickel, avec le tex est détérioré ...
Cordialement
J’ai une parade, mais...
dans le fichier
table_matieres.php
, ligne 45, si je mets'(code|cadre|math'
, ça retabli effectivement le tex... mais si on met du texte avec des accolades dans la balise<math>
, ça ne comptera pas dans la table des matières.Je met ça pour le moment, en attendant de trouver, si c’est utile, un truc meilleur.
C’est corrigé avec la révision 14401 du plugin. Merci de me confirmer le fonctionnement attendu.
Répondre à ce message
Cette contrib’ me rappelle beaucoup « Génération automatique de numérotation, table des matières et références » de Mortimer et Chtitux...
Serait-il possible d’améliorer cette nouvelle « table des matières » en lui faisant gérer, comme l’ancienne, des niveaux de titres (et donc introduire des raccourcis typo, à cette occasion...) ?
Bien sur qu’elle rappelle, celle que tu cites et bien d’autres.
Pour les améliorations que tu souhaites, proposes un patch, sur la zone.
Oui, celle du Couteau Suisse aussi ;-)
Répondre à ce message
j’ai installé le plugin et j’ai mis la balise
#TABLE_MATIERES
dans une boucle
ARTICLE
Les ancres sont opérationnelles mais la table des matières n’est pas produite
j’obtient en lieu et place de la table ce qui suit :
La version utilisée : SPIP 1.9.2a [8878]
Le plugin : le dernier ... télécharger aujourdhui
idem
je ne vois qur #tdm au lieu et palce de la table des matières
1.9.2 b
alors que les intertitres fonctionnent bien !
.????????????????
c’est la version 1.9.3 (9738) qu’il faut avoir...pas la 1.9.2
Répondre à ce message
Juste pour dire que la table des matieres vient d’être très facilement installée sur SPIP-Contrib (1.9.3 SVN 9813). Apparemment ça marche ;-)
Peut-être faudrait-il mieux expliquer dans l’article quel est le style employé, et comment le modifier s’il y a lieu.
@+ NicolasR
Répondre à ce message
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |