Des intertitres hiérarchisés et des outils pour les manipuler

Des intertitres auxquels on peut faire appel...

Cet article décrit les fonctions du plugin Intertitres hiérarchisés et table des matières qui donne accès à des intertitres de niveaux différents ainsi qu’à des modèles permettant de faire une table des matières, des renvois et d’avoir accès à des extraits d’articles. Ces modèles peuvent s’insérer dans les squelettes ou à l’intérieur des articles.

Cette contrib’ est dérivée de Génération automatique de numérotation, table des matières et références écrit par mortimer et chtitux.

Je l’ai mise sous forme de plugin, adaptée à SPIP>1.9 et fait quelques modifications [1].

Elle permet :

-  d’utiliser des intertitres hiérarchisés (plusieurs niveaux de titres) dans vos articles grâce à de nouveaux raccourcis typographiques,
-  d’afficher grâce à un modèle une table des matières dans vos articles et/ou vos squelettes,
-  d’afficher des renvois vers certaines parties d’un article dans vos articles,
-  d’afficher des extraits plus ou moins longs et plus ou moins ciblés d’un article
-  d’extraire des éléments signifiants d’un article.

Actuellement ce plugin est en développement. Cependant il est assez stable pour être utilisé. Il est par exemple utilisé par un site institutionnel : http://svt.ac-creteil.fr.

Installation du plugin

Vous trouverez la dernière version du paquet du plugin dans la zone ou ci-dessous :

Intertitres hiérarchisés et table des matières (0.9.15)

(voir les dernières mises à jour)

Dézippez (décompressez) cette archive, puis suivez les instructions traditionnelles pour installer un plugin : Installer un plugin

Des intertitres hiérarchisés

Ce plugin rajoute des raccourcis typographiques pour gérer des niveaux d’intertitres. Ces raccourcis, imaginés par mortimer, s’inspirent des listes et des énumérations de SPIP. C’est à dire que les intertitres utilisent désormais des * ou des # pour que soit déterminé leur niveau :

-  {{{*exemple de premier niveau}}} est un titre de premier niveau (équivalent à {{{exemple de premier niveau}}}),
-  {{{**exemple de titre de second niveau}}} est un titre de second niveau.

Ainsi ce type de contenu dans un article :

{{{*Les outils}}}
{{{**Les trucs qui vissent}}}
Il y en a plein !
{{{***À la main}}}
{{{****Tourne-vis}}}
- cruciforme
- plat
- etc.
{{{***Assisté}}}
{{{****Visseuse}}}
- à fil
- sans fil
{{{**Les trucs qui coupent}}}
snip...
{{{***Ciseaux}}}
{{{****À bois}}}
c'est dangereux ça !
{{{**Les trucs qui frappent (aïe)}}}
{{{***Marteau}}}
trop dangereux pour moi...

Va donner :

Les outils

Les trucs qui vissent

Il y en a plein !

À la main
Tourne-vis

- cruciforme
- plat
- etc.

Assisté
Visseuse

- à fil
- sans fil

Les trucs qui coupent

snip...

Ciseaux
À bois

c’est dangereux ça !

Les trucs qui frappent (aïe)

Marteau

trop dangereux pour moi...

Si à la place des *, vous utilisez des #, les intertitres seront numérotés en utilisant une numérotation scientifique du genre x.y.z.... Ex. :

{{{#Avec des numéros}}}
{{{##de plusieurs niveaux}}}
{{{##C'est une notation scientifique...}}}
{{{#Qui s'incrémentent automatiquement}}}

donne :

1- Avec des numéros

1.1- de plusieurs niveaux

1.2- C’est une notation scientifique...

2- Qui s’incrémentent automatiquement

Donc, l’utilisation des * et/ou des # après le raccourci classique pour les intertitres {{{ permet de hiérarchiser.

Coté HTML, les intertitres hiérarchisés sont transformés en headlines de type <hx class="spip">x est un chiffre allant de 3 à 6 [2]. De plus, chaque intertitre (numéroté ou non) contient une ancre <a name='x.y.z...'></a>x.y.z... est le numéro de l’intertitre. Cette ancre est utilisée par les modèles qui accompagnent ce plugin.

Un fichier CSS installé avec le plugin permet de gérer l’aspect des intertitres dans la partie privée de SPIP. Pour la partie publique, il vous suffit de définir hx.spip {} dans vos propres fichiers CSS pour déterminer comment ces intertitres s’affichent.

Notez que les intertitres des enluminures typographiques sont compatibles avec ce plugin.

Une table des matières

Ce plugin fournit un modèle <table_des_matieres> que l’on peut utiliser dans les articles ou dans les squelettes pour afficher une table des matières qui renvoie vers les intertitres. Elle se présente sous la forme d’une liste de puces (hiérarchisées) avec les intertitres sous forme de liens. Cette table des matières est précédée d’une ancre nommée « table_des_matieres » (<a name="table_des_matieres"></a>), elle est dans un bloc ayant pour identifiant « tablematiere » (<div id="tablematieres">blabla</div>).

Dans les articles, le modèle s’utilise ainsi :

<table_des_matieresXXX>XXX est le numéro de l’article dont vous souhaitez afficher la table des matières.

Dans les squelettes, vous pouvez utiliser :

[(#MODELE{table_des_matieres}{id=XXX})]XXX est le numéro de l’article dont vous souhaitez afficher la table des matières. Notez que XXX peut aussi être une balise comme #ID_ARTICLE.

Comme indiqué précédemment, notez que les intertitres des enluminures typographiques sont compatibles avec ce modèle.

Des renvois vers un intertitre (ou autre)

Ce plugin fournit un autre modèle <renvoi>. Il permet d’afficher l’intertitre d’une sous-partie précise d’un article avec un lien vers elle.

Dans les articles il s’utilise ainsi :

<renvoiXXX|partie=YYY>XXX est le numéro de l’article et YYY est le numéro de la sous-partie. Que l’intertitre soit numéroté ou non, le numéro de la sous-partie est de la forme x.y.z... [3].

À partir de L’exemple des outils qui est présenté au début de cet article : <renvoi2567|partie=1.2.3.3> donnera :

À bois

(2567 est le numéro de cet article et 1.2.3.3 correspond à la sous-partie sur le ciseau à bois... Si si ! comptez...)

Donc, écrire <renvoiXXX|partie=YYY> équivaut à écrire [intertitre de la sous-partie YYY|un extrait avec les 20 premiers mots de la sous-partie (...)->XXX#YYY] sauf que l’intertitre et l’extrait sont déterminés automatiquement par le modèle (et modifiés automatiquement si quelqu’un modifie l’article auquel on renvoie).

Dans les squelettes, le principe est le même, et la syntaxe est :

[(#MODELE{renvoi}{id=XXX}{partie=YYY})]

Comme indiqué précédemment, notez que les intertitres des enluminures typographiques sont compatibles avec ce modèle.

Des extraits d’articles ou de sous-parties d’articles

Voici deux modèles <extrait> et <extrait|partie> qui permettent d’afficher des morceaux d’articles ou de sous-parties d’articles.

Pour afficher un extrait d’article dans un autre article, il faut utiliser le modèle <extraitXXX|debut=YY|taille=ZZ>XXX est le numéro de l’article. debut et taille sont optionnels [4]. taille permet de fixer le nombre de mots à afficher dans l’extrait. debut permet de déterminer à partir de quel mot commencer l’extrait (debut est le n° de ce mot, la numérotation commence à 0).

Ex. : <extrait2567|debut=55|taille=38> permet d’afficher un extrait de 38 mots de l’article n°2567 (c’est celui-ci) à partir du 55e mot.

Notez pour la présentation et l’aspect sémantique que les extraits sont affichés entre balises <quote>extrait de l'article</quote>. Ils sont précédés de « (...) » si l’extrait ne commence pas au mot 0, et toujours terminés par « (...) ».

Les raccourcis typographiques qui étaient présents dans les extraits sont retirés automatiquement (le texte passe dans le filtre textebrut).

Il est aussi possible de faire des extraits d’une sous-partie du texte d’un article. Une sous-partie est un morceau du texte délimité par des intertitres de même niveau.

Le principe à peu près le même que pour le modèle précédent.

Pour afficher un extrait d’une sous-partie dans un autre article, il faut utiliser <extraitXXX|partie|partie=x.y.z|debut=YY|taille=ZZZ> qui fonctionne comme précédemment sauf que partie=x.y.z correspond au numéro de l’intertitre de la sous-partie dont on souhaite afficher l’extrait. Voir la documentation des renvois ci-dessus.

Ex. : <extrait2567|partie|partie=1.2.3.3|debut=4|taille=5> permet d’afficher un extrait de 5 mots de la partie sur le ciseau à bois (n°1.2.3.3) de l’article n°2567 (c’est celui-ci) à partir du 4e mot.

Comme précédemment la citation est dépourvue de raccourci typographique. Sauf l’intertitre qui est rajouté au début de la citation.

Bien sûr, ces deux modèles peuvent être utilisés dans les squelettes :

-  [(#MODELE{extrait}{id=XXX}{debut=YY}{taille=ZZZ})]
-  [(#MODELE{extrait_partie}{id=XXX}{partie=x.y.z}{debut=YY}{taille=ZZZ})]

Comme indiqué précédemment, notez que les intertitres des enluminures typographiques sont compatibles avec ce modèle.

Quelques filtres pour afficher des morceaux signifiants d’un article

Ces filtres sont tirés de la contrib’ Résumé d’article automatique.

Compatibilité

Les intertitres fournis par le plugin Plugin Enluminures typographiques pour SPIP 1.9.2 de RealET qui s’écrivent {2{, {3{, {4{, etc. sont pris en compte par ce plugin avec les équivalences : {1{={{{*={{{, {2{={{{**, etc.

Le plugin les transforme à la volée, si bien qu’ils fonctionnent pour tous les modèles, comme si ils étaient écrits avec des {{{*(...)*.

Les utilisateurs de la contrib’ de mortimer et chtitux dont est tiré ce plugin (Génération automatique de numérotation, table des matières et références) auront peu de changements à faire car il y a une certaine compatibilité ascendante.

Il faut noter cependant que :

-  dans la contrib’ originelle, les intertitres étoilés ({{{*(...)*) généraient une numérotation automatique des titres. Désormais, cette numérotation est réservée aux intertitres avec des #. Donc, si vous souhaitez conserver la numérotation, il faudra transformer les * en # dans les articles.
-  La balise #TABLEMATIERES qui placée dans les articles, affichait la table des matières est remplacée par le modèle <table_des_matières> (ce qui permet de choisir entre mettre une table des matières dans les articles ou dans les squelettes). Dans ce plugin #TABLEMATIERES affiche un lien vers la table des matières présente dans la page (lien vers l’ancre « table_des_matieres ») et non la table des matières elle-même.
-  Dans la contrib’ originelle, les raccourcis des intertitres étaient remplacés par des <h3 class="spipheadx">

x est le niveau de titre. Ce plugin les remplace par des <hx class="spip"> ce qui est plus correct du point de vue sémantique/accessibilité.
-  La contrib’ permettait de personnaliser les ancres présentes dans les intertitres (ex. : {{{**mon titre <mon_ancre_à_moi>}}}). Cela reste fonctionnel dans ce plugin et fonctionne avec les modèles.

Changements depuis la toute première version :

  • Version 0.9.4 du 31/07/2012
    Compatibilité SPIP 3.0.
  • Version 0.6 du 08/02/09 :
    correction du bug signalé par gilcot dans le forum corrigé.
  • Version 0.5 du 24/01/09 :
    • L’ancre table_des_matieres est désormais sans accent... C’est plus pratique !
    • Les ancres sont protégées dans le filtre extrait_lien (avant les ancres étaient listées comme des liens)
    • Les caractères accentués sont remplacés par des entités dans le code généré par le plugin
    • des css pour les intertitres du site public (idéal pour ceux qui restent avec la dist. Les autres devront créer les leurs)
    • Compatible Spip 2 grâce au passage aux pipelines (plutôt que les options)
    • renommage de fichiers et de fonctions (attention à ceux qui surchargent)
  • Version 0.4 du 19/12/08 :
    • Amélioration de Stéphane Deschamps : désormais les variables $GLOBALS['debut_intertitre'] et $GLOBALS['fin_intertitre'] sont prises en compte dans la numérotation des headlines des intertitres, quand elles sont définies par le webmestre.
    • Les balises <code> sont protégées dans les extraits
    • Les modèles prennent désormais en compte tous les articles (quel que soit leur statut).
    • Le bug des tables des matières externes est corrigé. Vous pouvez par exemple mettre un <table_des_matieres122> dans l’article 245 sans souci.
  • Version 0.3 du 04/10/08 :
    • Correction d’un bug qui dupliquait les notes de bas de page.
  • Version 0.2 du 21/09/08 :
    • Correction d’un gros bug qui empêchait le plugin de fonctionner correctement (disparition des images ou des autres modèles après un renvoi dans un article).
    • Toutes petites améliorations typographiques.

Développements futurs

-  intégration dans la barre typo V2 (voir travaux de gilcot dans le forum)
-  faire des modèles supplémentaires (notamment pour exploiter les filtres de Résumé d’article automatique), et documenter tout ça ici même.
-  faire en sorte que les intertitres hiérarchisés soient pris en compte par les contribs/plugin qui produisent autre chose que du HTML (du PDF par exemple).

Ce plugin sous licence GPL est développé dans SPIP-Zone, vous êtes donc les bienvenus pour prendre part à son développement.

Notes

[1Les modifications principales sont :

-  mise en plugin
-  des * pour les titres non numérotés
-  des # pour les titres numérotés
-  #TABLEMATIERES renvoie désormais vers une table des matières située ailleurs grâce au modèle <table_des_matieres>
-  etc.

[2Si vous avez fixé une valeur de $GLOBALS['debut_intertitre'] et $GLOBALS['fin_intertitre'], elle est prise en compte grâce à une modification de Stéphane Deschamps : les intertitres sont numérotés à partir de cette valeur. Voir aussi le message de Stéphane.

[3Notez que ce modèle utilise les ancres, il est donc possible de mettre n’importe quelle ancre de l’article à la place de YYY, s’il n’y a pas d’intertitre associé à l’ancre choisie, le modèle renvoie à la place le titre de l’article

[4si debut et taille ne sont pas indiqués, ce sont leurs valeurs par défaut qui sont utilisées, c’est-à-dire 0 pour debut et 20 pour taille

En attendant la réalisation d’un logo spécifique, le logo de cet article est une photo de timetrax23 sous licence Creative Commons « Paternité-Partage des Conditions Initiales à l’Identique 2.0 Générique » que vous retrouverez .

Dernière modification de cette page le 14 février 2019

Discussion

31 discussions

  • 5

    voilà un plug-in que j’aime bien car j’utilise pas mal les intertitres et c’est le seul qui me faisait quelque chose de correct (aussi bien dans la syntaxe que dans le résultat). mais je suis hélas passé à la v2 de spip et ça ne fonctionne plus ; j’ai droit à cinq erreur sql : « U.url, U.date, O. FROM spip_articles AS O LEFT JOIN spip_urls AS U ON (U.type=’article’ AND U.id_objet=O.id_article) WHERE O.id_article=63 ORDER BY U.date DESC LIMIT 1
    You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ’FROM `db216715564`.spip_articles AS O LEFT JOIN `db216715564`.s »

    • Oui, j’ai constaté que ça ne fonctionnait plus...

      Par contre, je n’ai pas d’erreur SQL... Et je ne vois pas bien d’où elles peuvent venir !

      Pour que le plugin passe à la V2 de Spip, je crois qu’il va falloir remanier son code. Le code utilisé par le plugin, réalisé par Mortimer il y a longtemps est prévu pour fonctionner avec des vieux Spip : il utilise des mécanismes d’intégration un peu anciens, qui n’ont plus court avec la V2, je le crains. Pour les spécialistes, je précise qu’il va falloir migrer ce qui est dans mes_options dans des pipelines...

      C’est à la limite de ce que je sais faire, donc l’adaptation va prendre un peu de temps, car il faut que je me documente un peu...

      Je suis désolé pour cette déconvenue, je vais faire de mon mieux d’autant que je pense que ce travail initié par Mortimer sur les intertitres est vraiment fondamental pour Spip !

      (NB : si d’ici là des Spipeurs habiles qui manient les pipelines sans y penser peuvent jeter un œil à tout ça tant mieux, le plugin est en libre développement sur la zone !)

    • Ça y est, la dernière version du plugin (0.5 du 24 janvier 2009) fonctionne avec Spip 2 grâce au passage aux pipelines.

      Il y ’a aussi quelques autres améliorations dans cette version.

    • j’active le plugin nouveau, et je me rend à la page http://monsite/ecrire/?exec=accueil, et là :

      Fatal error : Call to undefined function IntertitresTdm_table_des_matieres() in /chemin/de/mon/htdocs/plugins/intertitres_hierarchises/intertitres_tdm_fonctions_typo.php on line 18

      je crois que c’est lié à la présence, dans plugin.xml, de l’ante-penultième ligne :

      <fonctions>intertitres_tdm_fonctions.php</fonctions>

      pour ma part, je vire cette cette ligne et met toutes les fonctions dans intertitres_tdm_fonctions_typo.php sans être certain

    • Je n’ai pas ce bug...

      Je vais faire des tests plus poussés ce WE. Toutefois, la solution que tu préconises ne me parait pas bonne (elle risque de produire plus de bugs qu’elle n’en répare) !

      Essaies dans plugin.xml de mettre la ligne :

      <fonctions>intertitres_tdm_fonctions.php</fonctions>

      avant :

      <!-- Definitions des fonctions qui s'inserent dans les pipelines -->

      Et dis moi si ça fonctionne mieux comme ça.

    • je viens de tester, en ayant soin de désactiver le plugin et vider le cache depuis l’espace privé, puis de supprimer de mon disque la version modifiée et de la retélécharger, enfin de la déziper et faire la modification et rebalancer le tout par ftp; puis en retournant dans l’espace privé et en l’activant, même erreur... (idem pour la page /ecrire/?exec=forum —en fait toutes les pages où on calcule et affiche du contenu...— ; mais la liste des rédacteurs ou la gestion des plugins par exemple sont saufs)

      je ne sais pas comment SPIP « parse » ce fichier xml, mais je ne pense pas que l’ordre des éléments de même niveau ait de l’importance. maintenant, en regardant un peu la documentation du fichier, je lis :

          <!-- précise le fichier à charger à chaque recalcul, partie publique -->
          <fonctions>chemin du fichier </fonctions>

      est-ce à dire que ce n’est pris en compte que dans la partie publique ? or l’une des fonctions de ce fichier est utilisée par une des surcharges (pipeline) et doit donc être déclarée au préalable (d’où ma solution en attendant)

    Répondre à ce message

  • pour l’intégration à BTv2, je crois qu’il faut regarder ce que fait Enluminures Typographiques... je vais jetter un coup d’oeil dans le week-end. :)

    Répondre à ce message

  • 1

    SUPER ! Quelle réactivité... Je teste ça dans l’après-midi. Merci encore.

    A bientôt,

    G.

    Répondre à ce message

  • 2

    Merci pour ta réponse rapide.

    Bon, comme tu m’as fais douter, je viens de retester mon histoire de table des matières de l’article X affichée dans l’article Y, X et Y sont publiés. Je confirme que les liens de la table des matières de X affichés dans Y pointent vers Y et non pas vers X...

    J’ai cette version du plugin :

    Version : 0.3 | en développement

    récupérée à http://files.spip.org/spip-zone/intertitres_hierarchises.zip.

    J’ai aussi les plugins enluminures typographiques et barre typo V2, squelettes sarkaspip et thickbox... Peut-être une incompatibilité ??

    • Oups ! tu as raison, c’est moi qui n’avait pas compris : la tdm s’affiche bien, mais ce sont les liens qui ne pointent pas au bon endroit...

      Je vois la source du bug. D’ici quelques jours je vais corriger ça, dans la foulée je ferais quelques vérifications pour valider le plugin pour Spip 2.0.

      Encore un peu de patience...

      Merci beaucoup pour le retour !

    • Bon allez hop, c’était plutôt simple à corriger et j’avais 10min devant moi : c’est corrigé dans la version 0.4 du 19/12/08.

      On verra plus tard pour Spip 2.0 (mais je pense que comme la plupart du code n’est pas de moi : ça devrait fonctionner...)

    Répondre à ce message

  • 1

    Merci pour ce plugin qui répond à un besoin fondamental non couvert par le core SPIP.
    Mon problème : si je veux la table des matières de l’article 122 dans le 245, ça fonctionne avec <table_des_matieres122>, mais les liens dans la table des matières affichée ne renvoient pas vers l’article 122, mais vers le 245 et du coup il ne se passe rien au clic... C’est dommage, non ?...
    En tous les cas, bravo pour votre superbe travail.

    • Ah tiens ? Je ne reproduis pas ton bug...

      Dans ton article 245, c’est bien <table_des_matieres122> que tu as mis ??

      Si oui, les deux articles sont-ils publiés (surtout le 122) ?

    Répondre à ce message

  • 3

    Bonjour et merci pour ce plugin,

    J’ai un souci parce que vous fixez en dur le niveau des intertitres en partant de h3 ; or sur mon site ils partent de h2.

    Comme je ne dois pas être le seul dans ce cas je vous fais la remontée pour contribuer comme je peux... ;)

    Je suppose qu’il doit être possible de repartir de mes_fonctions et de parser ces réglages :

    • $GLOBALS['debut_intertitre'] = "\n<h2>";
    • $GLOBALS['fin_intertitre'] = "</h2>\n";

    afin de récupérer le nombre.

    Ensuite il suffira de retourner ce nombre dans tous les calculs de type :

    • $lastlevel+2
    • $my_debut_intertitre=trim("\n<h([3-9]) class=\"spip\">");
    • $my_fin_intertitre=trim("</h[3-9]>\n");
    • etc.

    Voilà, en tout cas merci pour l’idée.

    • Effectivement, le h3 avait été choisi car c’est la config par défaut de Spip.

      Ton idée est bonne ! Mais je ne vais pas avoir le temps de le faire avant longtemps (trop trop de choses à faire en retard).

      Par contre, ce plugin étant développé sur la zone, tu peux peut-être commiter les changements toi-même ?

    • Je risque de tout casser, non ?

    • Je pense que le mieux est d’essayer ne pas tout casser.

      Mais, récupérer la globale concernant le niveau d’intertitre me paraît une excellente idée !

      Donc, si les modifs fonctionnent chez toi, elles ont des chances de fonctionner partout. Et on essaiera !

      Et si ça marche pas, SVN permet toujours de revenir en arrière (revert).

      Donc comme diraient les dév de Spip et des principaux plugins : « gogogo » !

    Répondre à ce message

  • 5

    Bonjour,
    Je viens d’installer ce plugin qui répond exactement à mes besoins.
    Malheureusement, lorsque dans un article (par exemple le 90) j’ajoute la balise
    <table_des_matieres90>, la table est correctement générée mais toutes les images insérées dans l’article (que ce soit avec <emb> ou <doc> ou <img>) disparaissent !
    J’avoue que je ne comprends pas pourquoi ?
    Une idée ?
    Avez-vous le même problème ?

    • Je confirme. J’ai le même comportement sur mes sites, ce qui m’a amené à ne plus utiliser cette balise. C’est dommage.

    • Alors... pas de solution ? Snif !

    • J’ai constaté le bug...

      Je n’ai pas encore trouvé de solution simple... Mais je vais y travailler (petit problème de débordement en ce moment...) Je vous tiens au courant.

    • Toujours pas de solution ?
      C’est dommage !

    • Ce problème avec les modèles est corrigé dans la dernières version du plugin (celle du 21/09/08).

      Pouvez-vous tester et me dire si tout va bien ?

    Répondre à ce message

  • Olivier CARETTE

    Bonjour,
    Ce type de plugin me semble bien mais j’ai une surcharge de mes pages espace privé avec du code que je ne comprend pas.
    Peut -être y-a-t-il une incompatibilité avec un autre plugin ?
    Voici une partie du texte visible :

    o� x>3 * * - encore une modif, tr�s moche : pour permettre de n’afficher que la table, * quand on utilise ceci comme un filtre avec unn second param�tre : * [(#TEXTE|table_des_matierestable_seule)] * - ajout d’une fonction qui converti les intertitres des enluminures en * intertitres compatibles avec cette contrib’ */ function IntertitresTdm_table_des_matieres($texte,$tableseule=false) global $debut_intertitre, $fin_intertitre ; // d�finition de la balise pour les titres des sections %num% sera remplac� // par la profondeur de la section // les raccourcis soient remplac�s par des headlines () $css_debut_intertitre = « \n » ; $css_fin_intertitre = « \n » ; // on cherche les noms de section commen�ant par des * et # $my_debut_intertitre=trim($debut_intertitre) ; //astuce des trim trouv�e l� : http://www.spip-contrib.net/Generation-automatique-de#forum383092 $my_fin_intertitre=trim($fin_intertitre) ; // pour que les diff�rents niveaux d’intertitres soient g�r�s quand on repasse sur le texte dans le cadre d’un filtre avec tableseule if ($tableseule) $my_debut_intertitre=trim(« \n ») ; $my_fin_intertitre=trim(« \n ») ; // on cherche les noms de section commen�ant par des * et # $count = preg_match_all( « (($my_debut_intertitre([\*#]*)(.* ?)(<(.* ?)>) ?$my_fin_intertitre)) », $texte, $matches ) ; $table = ’’ ; //initialisation du compteur $cnt[0] = 0 ; // initialisation du code de la table des mati�res // s’articule autour d’un et d’un

    $table = "\n

    Mes autre plugins sont :
    Accès restreint
    Agenda
    Article PDF
    Barre typo generalisée
    Barre typo V2
    Barre typo dans le texte
    CFG
    CS
    Crayon
    Definitions mots clés
    En travaux
    Forms and tabs
    Google analytics
    Google sitemaps
    Imprimer document
    Inscription 2
    Notation des articles
    Boite à outils pour articles
    Spip listes
    Spip notification
    Spip surcharge
    Widget Calendrier

    Répondre à ce message

  • 3

    Bravo pour ce travail, c’est simple et puissant, et c’est ce que je cherchait pour mettre en page de longs textes, et pouvoir présenter un sommaire dans une boucle article par exemple..
    J’ai juste un gout de trop peu (je sais j’abuse), car il est difficilement intégrable avec le découpage en pages ou onglet du couteau suisse.
    Mais bien-sur ce plugin est encore en développement donc respect pour le travail accomplit et je serais patient !
    Merci encore

    • Merci pour les compliments.

      Le statut en cours de développement de cette contrib’ n’est pas un bon reflet de sa stabilité : ce plugin est stable (car basé sur une contrib’ qui l’était), mais des il garde le statut en cours de développement car des fonctions sont à venir (comme l’intégration dans la barre typo).

      Peut-tu me préciser les problèmes rencontrés avec le découpage en pages/onglets du CS ? Voire une donner une URL où je puisse le constater ?

    • Merci de ta réponse rapide !
      Comme tu dois le savoir dans le CS, les deux fonctions (sommaire et découpage) marchent ensemble et le numéro de la page s’affiche après chaque ligne de sommaire
      Dans le cas présent, je ne m’attendais pas à cet affichage, bien-sûr, néanmoins j’espérais que tout le sommaire soit extrait grâce à la balise (je ne l’ai pour le moment testée qu’en intra-texte, pas encore dans le squelette « article », ce qui ne saurai tarder) or, ne sont extrait du texte que les titres de la première page, et uniquement sur la première page.
      comme ça faisait moche, j’ai viré les ++++, et me contente de longues, longues pages...
      Voilà, avec deux exemples :

      http://www.jean-beaujouan.fr/spip.php?article9
      Dans ce cas, pas de ++++, donc un seul bloc, et ça marche nickel (- :

      http://www.jean-beaujouan.fr/spip.php?article7
      Dans ce cas en revanche, comme c’est découpé, le sommaire se contente de retourner les titres présents dans la première page..

      Merci.
      Corentin.

    • Je vois le problème. Il faudrait que j’étudie un peu le fonctionnement de cette lame du CS... Hélas cela ne va pas se faire très vite (j’en suis désolé) car d’autres chantiers prioritaires m’attendent !

      Je te tiens au courant ici-même.

    Répondre à ce message

  • 2

    Bonjour
    j’ai installé le plugin, mais il m’indique qu’il manque un fichier une fois le plugin activé :
    ./plugins/intertitres_hierarchises/intertitres_tdm_fonctions_header_prive.php

     ???

    En tout cas ce plugin parait bien utile !

    • Le Fichier intertitres_tdm_fonctions_header_prive.php est-il présent dans le répertoire du plugin (« intertitres_hierarchises ») ?

      Je viens de vérifier il est présent dans l’archive qui est sur la zone (paquet qui est dans cet article). Donc si ce fichier est absent de ton répertoire plugins :

      -  désactive le plugin
      -  efface le répertoire « intertitres_hierarchises »
      -  re-télécharge le paquet zip
      -  mets le dossier « intertitres_hierarchises » dans le répertoire plugins de ton site
      -  efface le cache
      -  active le plugin
      -  teste...

      Si ça ne fonctionne toujours pas, ou si le fichier est bien présent dans le répertoire, peux-tu me préciser dans quel contexte exact ce message apparaît ? (voire si c’est du coté site public me donner une URL).

    • Merci ! maintenant ça marche ! :-)

    Répondre à ce message

Ajouter un commentaire

Qui êtes-vous ?

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