Bonsoir à tous,
Je me suis réattelé au plugin Prism et à la résolution d’issues restées quelque peu en souffrance… Parmi elles, celle-ci : « Conflit avec le plugin precode » (https://git.spip.net/spip-contrib-extensions/prism/issues/9)
C’est tout simple : le plugin Pre&Code prend les classes associées à une balise <pre>
et les affiche dans un pseudo élément :before
de la balise <code>
; et ce quel que soit le contexte, j’ai bien l’impression, que ce soit dans une visualisation d’article dans le privé ou le public, ou bien au sein même d’un textarea lors de l’édition d’un article. Et qui plus est, le plugin fournit des styles CSS sur des sélecteur extrêmement générique (pre code, par exemple).
Du coup, je profite de l’occasion pour initier une discussion quant à la façon de présenter du code dans SPIP… J’avais travaillé il y a maintenant plusieurs mois à une branche de Coloration Code (https://git.spip.net/spip-contrib-extensions/coloration_code/src/branch/dev/prismjs) qui bascule de l’utilisation de Geshi côté serveur à la librairie javascript PrismJS (https://prismjs.com/) qui nécessite de son côté un balisage à base de classe au format language-XXX
.
Sur une autre branche de Coloration Code j’avais aussi travaillé à la création d’un raccourci typo du genre <c|grammaire>
: https://git.spip.net/spip-contrib-extensions/coloration_code/commit/a70ea173181cef6ffbf978106cb5a7b6636ef35d
Alors, ça date de quelques mois, le code est peut-être pas très propre en l’état…
Du coup, est-ce que l’on ne proposerait pas une refonte des plugins ayant trait au code ? Du genre :
- Code - Structure => gestion de la structure : raccourci SPIP, formatage HTML en
<pre class="language-XXX"
- Code - Coloration => gestion de l’affichage : coloration des différents langages pris en charge par Prism auxquels on peut ajouter la syntaxe SPIP + prise en charge d’un certain nombre de plugins (numéro de lignes, toolbar avec affichage du langage, copier…)
Ou alors un seul et même plugin avec configuration avancée ?
Reste alors la question de la gestion de la dépendance à la librairie PrismJS aussi nécessaire dans PrismLive…
Alors, désolé si ça rejoint voire rejoue une partie d’une discussion vieille de près de deux ans, mais ce serait chouette de pouvoir présenter une gestion unifiée des extraits de code.
Merci par avance pour vos retours !