Table des Matières

Ajoute des ancres en fonction des intertitres et fournit une balise pour afficher la « table des matières » d’un article - autrement dit un « sommaire » -.

Dans la même thématique, il existe aussi le plugin Sommaire automatique

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

Table des Matières
(2.4.0)

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)

Discussion

Aucune discussion

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

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.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom