Plugin Coloration Syntaxique
Brice Boucard <[email protected]> Mon, 19 Apr 2021 16:15:20 +0200
| Newsgroups | gmane.comp.web.spip.devel |
|---|---|
| Message-ID | <[email protected]> |
Bonjour à tous, Voici donc un premier jet du plugin Coloration Code réécrit complètement pour réaliser la coloration syntaxique en javascript avec la librairie PrismJS ; tout cela se trouve sur la branche dev/prismjs du dépôt : https://git.spip.net/spip-contrib-extensions/coloration_code/src/branch/dev/prismjs Je précise à nouveau que je ne suis pas développeur donc je m'excuse par avance si le code n'est pas propre... J'ai donc créé une branche dev/prismjs, mais n'ai lancé mes commits qu'une fois mes travaux bien avancés, et les derniers apparaissent juste pour corriger des coquilles ou pour de mineures modifications. J'ai modifié le paquet.xml en basculant l'état sur "dev" et en positionnant la compatibilité sur "[3.2.99;3.3.*]" parce que je n'ai travaillé que sur une base en spip-dev. Je vais essayer de décrire comment j'ai abordé les choses : 1) on commence par uniformiser la façon dont sont rendus les éléments <pre> et <code> puisque pour bien fonctionner PrismJS a besoin de cette structure : <pre><code class="language-*"></code></pre> Du coup, si un <code> a des sauts de ligne ou si on a un <cadre>, on transforme vers le balisage adéquat. Pour cette partie, j'ai pas mal pompé sur le plugin PreCode. 2) pour une question de rétrocompatibilité (je crois), on réécrit les classes "grammaire" en "language-grammaire" sous réserve que "grammaire" se trouve dans la liste des grammaires gérées par PrismJS. 3) On charge les styles et scripts de base ainsi que ceux nécessaires au bon fonctionnement des plugins sélectionnés dans la page de configuration du plugin. 4) Enfin, j'ai pompé sur le plugin Codes informatiques pour Porte Plume pour ajouter une première salve de boutons dans le Porte Plume. En espérant que cette proposition réponde - du moins en partie - à vos attentes, À bientôt,