Intertitres

Intertitres pour le porte plume

Nativement la syntaxe SPIP ne propose qu’un seul niveau de titre/intertitre. Le niveau de départ h3.spip est configurable depuis _options.php , en utilisant les variables de personnalisations :

Ce plugin ajoute au porte plume de spip la gestion de niveaux de titres supplémentaires, en prenant en compte le niveau de départ configuré dans SPIP ou mes_options.php.

$GLOBALS['debut_intertitre'] = "\n<h3 class=\"spip\">\n";
$GLOBALS['fin_intertitre'] = "</h3>\n";

Le plugin reprend, pour des raison de compatibilité et migration, les syntaxes proposées par typo-enluminée, et intertitres_tdm,
soit {{{*** pour les titres simples et {{{### pour les titres de type référence (ex:1.1, 1.1.2).

Les icônes affichées dans le porte plume (barre typographique),
reflète le niveau sémantique au sens html pour sensibiliser le rédacteur à son plan de page, et s’adapte en fonction de la globale spip debut_intertitre.

Différences avec les plugins typo enluminé ou intertitres_hierarchise_et_tdm :

  • ce plugin utilise textwheel , ceci permettant entre autre :
    • de pouvoir surcharger les wheels déclarées pour un besoin spécifique,
    • tester et maintenir plus facilement les expressions/ étudiées/raccourcis traités.
    • utiliser les fonctionnalités de SPIP 3.
  • il ne gère que les titres : ce plugin n’apporte que cette fonctionnalité.
  • une syntaxe additionnelle expérimentale et en test permet d’ajouter des attributs au titres ( classes css, id spécifique, data-xx). Cette syntaxe est reprise de celle proposée par markdown extra.

Plugins complémentaires testés

Syntaxe & raccourcis

Raccourci Description
{{{* … }}} équivalent au raccourcis spip intertitre {{{…}}}. h2 ou h3 suivant spip_debut_intertitre
{{{** Titre}}} h3 ou h4
{{{*** Titre}}} h4 ou h5
{{{**** Titre}}} h5 ou h6
{{{***** Titre}}} h6 ou div.h7
{{{# Référence }}}
{{{## Référence }}}
{{{### Référence }}}
{{{#### Référence }}}
Attributs par défaut les classes hx et rx sont ajoutées automatiquement
{{{ Titre }}}{.test-class1 .test--extender} Ajouter des attributs css supplémentaires aux titres
{{{ Titre }}}{#id_du_titre} Insérer un identifiant unique
{{{ Titre }}}{attribut="valeur attribut" data-appear="left" itemprop="name"} Insérer des propriétés/attributs libres

A savoir

Si les icônes du porte plume n’apparaissent pas après l’activation du plugin, supprimez les dossiers /local/cache-css et js.

Le plugin étant en développement , si vous avez installé une version précédente, il peut être nécessaire de supprimer le dossier /tmp/cache/wheels, pour que les traitements typo soient pris en compte.

Participer

Le plugin est disponible via le dépôt external, tout retour est apprécié : suggestions, tests, bugs, idées d’amélioration, pull request.

Sources :

https://github.com/mistergraphx/porte_plume_intertitres

Bugs et retours sur le forum de l’article ou

https://github.com/mistergraphx/porte_plume_intertitres/issues

updated on 2 April 2020

Discussion

Une discussion

  • 2

    Merci pour ton plugin. Bien pratique.

    Une remarque : pour chaque intertitres (h2, h3, etc.) tu remplaces la class “spip” par le nom du tag.
    Ainsi <h3 class='spip'> devient <h3 class='h3'>.
    Du coup cela casse/modifie l’affichage puisque la CSS h3.spip{…} n’est plus prise en compte.

    Il y a t-il une raison à ce choix ?

    Cheers

    • Hello

      Merci pour le retour.

      De mémoire, la raison est que à l’époque c’était le standard spip ;-)

      ça peut se surcharger depuis mes options en utilisant les globales

      https://github.com/mistergraphx/porte_plume_intertitres/blob/master/porte_plume_intertitres_options.php

      Une évolution serait de pouvoir spécifier la classe depuis la config si on utilise un framework (bootstrap ou autre).

      Quel serait ton besoin ou idée sur le sujet ?

    • Yop,

      La surcharge via /porte_plume_intertitres_options.php ne marche pas.
      En cause qqs instructions dans /porte_plume_intertitres/wheels/porte_plume_intertitres.php

      Du coup, juste pour tester, j’ai forké ton plugin + et modifié ce fichier.
      Voir la modif.

      Une évolution serait de pouvoir spécifier la classe depuis la config si on utilise un framework (bootstrap ou autre).

      Oui ! Du coup là config pourrait proposer :
      -  la valeur du tag (pour pas chambouler les installs existantes )
      -  ’spip’ (parce que quand même, cela remet le plugin compatible avec la dist)
      -  champ input où l’utilisateur pourrait saisir ce qu’il veut.

      Je veux bien te donner un coup de main si tu veux ?
      Faudrait juste virer les notices PHP existantes en l’état. Sur ce point, je préfère te laisser la main…

    Reply to this message

Comment on this article

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