(Premier post, alors soyez indulgent…)
J’ai récemment configuré mon propre forum Discourse : https://crucible.hubbe.net/. Pour l’essentiel, j’en suis très satisfait. La communauté est dédiée à une carte de type Arduino, utilisée principalement par les créateurs de décors. En conséquence, nous utilisons beaucoup de code C++ basé sur des modèles. En particulier, nous utilisons ce qu’on appelle un « style », qui configure l’apparence des lumières. Les styles peuvent être complexes, alors j’ai créé un éditeur/aperçu en ligne, puis j’ai utilisé le composant de thème discourse-linkify pour que les styles soient automatiquement liés à l’éditeur. J’ai dû apporter quelques modifications mineures au composant de thème discourse-linkify pour que les caractères d’URL soient correctement cités, etc., ce qui était assez simple. Je peux créer une demande de tirage (PR) pour ces modifications si cela intéresse quelqu’un.
Le résultat peut être consulté ici : https://crucible.hubbe.net/t/styleptr-links/286
Cependant, il y a un problème…
Certains des codes basés sur des modèles ressemblent un peu à du HTML à cause de tous les caractères < et >, et à un moment donné, Discourse supprime certains de ces « balises ». En gros, il semble que tout mot inconnu encadré par < > soit supprimé. La ligne suivante de ce post sera mais sans les espaces :
< - le foo est ici
Au début, je pensais que c’était le composant linkify qui faisait quelque chose de mal, mais après quelques recherches, il semble que le contenu manquant ait déjà disparu avant que linkify ne s’exécute. Donc, je suppose que les balises supplémentaires se sont évaporées quelque part dans le processus de cuisson ?
J’ai remarqué que dans les blocs de code (triple backtick et similaires), les balises survivent, mais pour mes besoins, il vaudrait mieux qu’elles survivent toujours.
Pendant un moment, j’ai pensé qu’il suffirait de modifier discourse/lib/utilities.cs : CODE_BLOCKS_REGEXP pour que cela fonctionne, mais inCodeBlock n’est pas utilisé depuis de nombreux endroits, alors peut-être que c’est une mauvaise piste ? De plus, je n’ai pas encore trouvé comment modifier réellement CODE_BLOCKS_REGEXP à partir d’un plugin ou d’un composant de thème.
Quel code est réellement responsable de la suppression de ces balises ?
Quelle est la meilleure (la plus prise en charge) façon de la désactiver ?