Ajuster les intertitres

Les raccourcis SPIP {{{ et }}} permettent d’ajouter des intertitres dans le contenu éditorial. Par défaut, ces intertitres sont rendus par une balise h2 avec SPIP 4 et supérieur, et par h3 avec SPIP 3 et inférieur. Or, selon le contexte, il est parfois nécessaire d’utiliser des intertitres d’autres niveaux. Le filtre ajuster_intertitres du plugin homonyme permet cela.

Exemple de besoin

Supposons une page composée d’articles selon la structure suivante.

<h1>Titre de la page</h1>
<BOUCLE_articles(ARTICLES)>
<h2>#TITRE</h2>
 
 #TEXTE
</BOUCLE_articles>

Ici, il faudrait que les intertitres au sein de #TEXTE soient de niveau h3 et non pas de niveau h2 comme ils le sont par défaut. On pourrait bien sûr ajuster la valeur par défaut des titres, mais il se peut qu’on ait besoin du niveau h2 sur d’autres pages (par exemple sur la page de chaque article).

Résolution du problème

Il suffit d’utiliser le filtre |ajuster_intertitres.

<h1>Titre de la page</h1>
<BOUCLE_articles(ARTICLES)>
<h2>#TITRE</h2>
 
[( #TEXTE|ajuster_intertitre)]
</BOUCLE_articles>

Par défaut, l’appel du filtre augmente de 1 tous les niveaux des intertitres : h2 devient h3 ; code>h3 devient h4, etc.), sans jamais dépasser h6. Le plugin est donc nativement compatible avec tous les plugins de SPIP qui fournissent des intertitres supplémentaires.

Il est cependant possible d’avoir des réglages plus fins.

Choisir précisément le niveau

Le filtre peut prendre en premier argument le niveau de titre désiré. On propose deux syntaxe :

  • si le premier argument est un entier, alors cela indique l’amplitude du décalage.
    [(#TITRE|ajuster_intertitres{2})] [(#REM) h2 -> h4 ; h3 -> h5]
    [(#TITRE|ajuster_intertitres{-2})] [(#REM)h3 -> h1 ; h4 -> h2]
  • si le premier argument est de la forme hx, alors cela indique le niveau de titre à partir duquel les intertitres doivent commencer.
    [(#TITRE|ajuster_intertitres{h4})] [(#REM) les titres iront du niveau h4 au niveau h6]

Éviter d’ajuster certains titres

Au sein d’une citation de code informatique (avec <code>), les titres ne sont jamais ajustés.

Au sein d’une citation de texte (blockquote), les titres ne sont par défaut pas ajustés.

Il est également possible d’indiquer qu’au sein de certaines balises, les titres ne sont pas ajustés. C’est utile par exemple pour les balise de sectionnement de la norme HTML5 [1]. On utilise pour ce faire le second argument du filtre, contenant la liste des balises dont il faut préserver le contenu, séparées par un pipe (|).

Exemple :

[(#TEXTE|ajuster_intertitres{h5,blockquote|article|aside|nav|section})][(#REM) préserver les niveaux dans blockquote,article,aside,nav,section]
[(#TEXTE|ajuster_intertitres{h5,''})][(#REM) Ne préserver nul part les niveaux]

Footnotes

[1Toutefois nous n’avons pas pour l’heure implémenté ce fonctionnement par défaut, car il n’existe aucune implémentation de l’algorithme Outline de HTML 5.

Discussion

No discussion

Add a comment

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 / PostgreSQL
  • 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 apparait.

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.

Who are you?
[Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom