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, vous n’avez plus qu’à l’activer. Ensuite activez le plugin via l’interface d’administration de votre site (Configuration/Gestion des plugins : la petite prise électrique rouge...)
Utilisation
Les intertitres seront calculés automatiquement. Pour afficher la table des matières, ajouter la balise #TABLE_MATIERES dans votre squelette à l’interieur d’une boucle ARTICLES.
#TABLE_MATIERES affichera les ancres de la manière suivante par défaut :
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.
Prérequis
Ce plugin nécessite une version de SPIP récente (révision minimum : 9738, introduction de la balise #FOREACH)



plugin Table des Matières
Vos commentaires
# Le 1er février à 10:21, par PhDG
En réponse à : Table des Matières
J’ai SPIP 2.1.12 avec la dernière version de ce plugin. Il y a un article sur lequel je ne parviens pas à faire apparaître la table des matières dans la partie publique. Elle se crée pourtant bien dans la partie privée. Je ne comprends pas ! Je ne vois aucune différence entre les deux articles qui pourrait causer cette bizarrerie.
Une idée ???
Merci
# Le 2 février à 12:31, par PhDG
En réponse à : Table des Matières
Pour plus de précision, j’ajoute que j’utilise le squelette AHUNTSIC.
Répondre à ce message
# Le 14 décembre 2011 à 10:31, par Aurélie
En réponse à : Table des Matières
En Spip 2.1.12, table des matières 2.0.2 [54334], la table des matières générée automatiquement fonctionne bien mais le texte de l’article n’est pas traité si on place soi-même la balise
#TABLE_MATIERESdans le squelette (cfg : « La table des matières est-elle générée automatiquement ? » : non).Pour y remédier rapidement, j’ai passé les filtres
|table_matiere{texte}|propreà la balise#TEXTE*:Mais j’imagine que le plugin devrait tester la variable de configuration : si _AUTO_ANCRE est oui, on applique le filtre table_matieres au texte ; sinon on l’applique tout de même, avec le paramètre ’texte’ (le filtre ne retourne alors que le texte traité, donc, avec les ancres).
Dans tdm_pipelines.php, remplacer :
par :
Répondre à ce message
# Le 23 novembre 2011 à 17:45, par csauvage
En réponse à : Table des Matières
Pour ma part, j’ai un comportement bizarre sous SPIP 2.1.8 :
La balise #TABLE_MATIERE me renvoit un code qui est échappé, genre :
Je suis obligé de passer par un filtre maison en PHP qui me fait :
$tdm = htmlspecialchars_decode($tdm, ENT_QUOTES) ;
$tdm = str_replace(" rel=’", ’>’, $tdm) ;
$tdm = str_replace("
’>
", ’
’, $tdm) ;
return $tdm ;
Et là ça marche...
Je ne pense pas que ce soit normal. Quelqu’un s’est-il déjà frotté à ce problème ?
Autre problème, si je ne spécifie pas l’option « La table des matières est-elle générée automatiquement ? » à Oui, le plugin ne met pas les ancres dans le #TEXTE.
J’ai dû aller retoucher le code du plugin pour ne pas afficher 2 fois la TDM.
Ca pourrait être une histoire de version de SPIP ??
Camille
Répondre à ce message
# Le 29 juillet 2011 à 11:02, par Cyril Marion
En réponse à : Table des Matières
Bonjour,
Il semblerait que les liens générés dans la table des matières ait un peu mal avec les urls arborescentes. Avec les urls standard tout fonctionne correctement :
Exemple :
Url correcte vers un paragraphe de l’article, générée par TDM, avec les urls standard :
Lien vers le même paragraphe, généré automatiquement par le plugin TDM, mais avec les urls arbo activées :
Alors que la bonne url vers ce paragraphe devrait être :
Du coup, les liens amènent vers une page 404.
Pour info, ma config d’urls arborescentes :
Avez-vous une idée pour résoudre ce problème de liens ?
Merci par avance ;-)
# Le 11 novembre 2011 à 14:52, par kent1
En réponse à : Table des Matières
à tester ...
Je viens de commiter un patch sur la version trunk actuelle
cf : http://zone.spip.org/trac/spip-zone/changeset/54326
et cela semble fonctionner correctement :
http://technique.arscenic.org/services-web/streaming-audio-et-video/article/icecast-2-installation-et?var_mode=recalcul#tdm
++
# Le 11 novembre 2011 à 15:22, par Cyril Marion
En réponse à : Table des Matières
en version 2.0.1 [54326] tout semble OK, kent1 ; merci !
Répondre à ce message
# Le 1er février 2011 à 17:51, par JLuc
En réponse à : Table des Matières
Bizarre, mais :
- soit le sommaire est « généré automatiquement » et alors il y a bien les ancres sur les h3 mais la table des matières n’apparaît pas
- soit le sommaire est généré et placé avec #TABLE_MATIERE et alors il n’y a plus d’ancres sur les h3 ! (par contre la tdm apparait bien)...
...sur uune spip 2.1.2
# Le 2 février 2011 à 16:05, par JLuc
En réponse à : Table des Matières
j’ai finalement trouvé une config ’automatique’ qui donne tdm et liens,... mais la tdm n’est pas à l’endroit souhaité.
C’est peut être que TDM et #TEXTE ne sont pas dans la même noisette.
Répondre à ce message
# Le 14 septembre 2010 à 03:33, par Loiseau2nuit
En réponse à : Table des Matières
Hello !
Super plugin que j’utilise de manière assez généralisée à dire vrai seulement j’ai quand même un petit soucis avec lui, c’est la génération forcée de titre
h3.spipEn effet, j’utilise la BTE de porte plume et j’avais, suivant quelques recommandations d’accessibilité, arbitrairement décrété que dans mon site, les
{{{titre}}}me génèreraient du<h2 class="h2">titre</h2>Ya t’il un moyen d’intervenir sur cette génération de manière à ce qu’elle ne rentre pas en conflit avec la BTE ? J’ai regardé un peu le code mais je ne trouve pas à quel endroit jouer du bigniou pour que ca marche à peu près comme je veux... :-x
Merci pour tout retour ;)
# Le 4 janvier 2011 à 18:34, par Matthieu Marcillaud
En réponse à : Table des Matières
Ça me génère avec :
Des :
Ça semble correct (avec Zpip)
Répondre à ce message
# Le 4 janvier 2011 à 18:32, par Matthieu Marcillaud
En réponse à : Table des Matières
Je viens d’effectuer quelques modifications du plugin (version 1.1)
Répondre à ce message
# Le 10 août 2010 à 14:28, par Yann974
En réponse à : Table des Matières
Bonjour,
Cette magnifique contrib comporte 2 bugs (SPIP 2.1.1) :
C’est vraiment dommage car cette contrib est la plus aboutie dans sa catégorie !
# Le 18 août 2010 à 09:00, par Matthieu Moy
En réponse à : Table des Matières
Pour l’affichage en double, j’ai pareil, mais en fait, c’est que contrairement à ce que dit l’article, même si on n’a pas de #TABLE_MATIERE, la table est générée en début d’article. Si je met un #TABLE_MATIERE dans mon squelette, j’en ai deux !
Répondre à ce message
# Le 27 novembre 2008 à 13:39, par cam.lafit
En réponse à : Inhiber table des matieres au cas par cas
Bonjour
En version SPIP 2.0, la noisette des matieres est chargée automatiquement dans toutes boucles artciles faisant appel à #TEXTE
Comment peux ton le desactiver au cas par cas ?
Cas d’utilisation, une page sommaire qui liste afficher les X derniers articles.
# Le 2 janvier 2009 à 17:27, par goetsu
En réponse à : Inhiber table des matieres au cas par cas
même problème
# Le 1er juin 2010 à 18:01, par ?
En réponse à : Table des Matières
idem chez moi en spip 2.1 !
Répondre à ce message
# Le 2 mars 2009 à 20:21, par ?
En réponse à : désactivation Table des Matières
j’ai voulu désactiver table des matières, car à l’usage, ca ne me semblait pas pertinent sur un site aux articles courts, et malgré mon paramétrage à 4 titres, il continue à se déclencher pour 1 seul titre..
surprise, en désactivant, j’ai plein d’erreur d’affichage bizarres..
y-a-t-il une procédure particulière pour le faire ???
pam
Répondre à ce message