Plugin ou composant de thème pour modifier l'éditeur de publication ?

Honnêtement, je ne sais pas vraiment où publier cela, alors n’hésitez pas à le déplacer si ce n’est pas la bonne catégorie.

Récemment, je me suis intéressé à l’amélioration de l’expérience utilisateur dans Discourse pour ajouter des balises ruby au texte dans l’éditeur de messages. Pour ceux qui ne le savent pas, cette balise peut être utilisée lors de l’écriture de texte japonais pour indiquer la « lecture » en même temps que le texte, par exemple en transformant 日本語 en ほん. Cependant, beaucoup de gens, même dans notre communauté d’apprentissage du japonais, ignorent son existence ou ne prennent pas la peine de l’utiliser car il peut être fastidieux de l’écrire pour de longues phrases ou des phrases entières. (L’exemple d’un seul mot a été généré à partir de <ruby>日<rt>に</rt>本<rt>ほん</rt>語<rt>ご</rt></ruby>.)

Pour cette raison, je souhaite ajouter une option dans le menu de l’éditeur de messages qui fonctionne de manière très similaire à l’option de lien hypertexte. Elle aurait toujours deux champs de saisie, mais ils seraient utilisés pour séparer le texte principal et la lecture, au lieu du nom du lien et de l’URL. Cela n’interagirait pas du tout avec le serveur, car cela insérerait simplement du HTML standard (pris en charge par Discourse) dans l’éditeur. Il est probable que je veuille faire un peu de traitement de texte pour permettre aux utilisateurs d’écrire de longues chaînes de texte et d’ajouter les balises ruby toutes en une fois, plutôt que de devoir le faire caractère par caractère.

Donc, pour en venir à la question : serait-il préférable de réaliser cela sous forme de composant de thème, d’un plugin, ou d’autre chose entièrement ? De plus, y aurait-il un moyen de le faire sans avoir à craindre que le composant, le plugin ou autre ne se brise lorsque Discourse modifie quelque chose dans l’éditeur ? Je suis presque certain que l’installation de Discourse à laquelle je souhaite ajouter cette fonctionnalité est hébergée par Discourse elle-même, il faudrait donc qu’elle soit compatible avec ce type d’installation. Je dois encore vérifier avec les administrateurs de ce site, mais je ne pense pas avoir de problème pour qu’ils l’installent une fois qu’elle sera prête (et bien sûr, je les consulterai d’abord après avoir reçu des conseils ici).

Toute aide et tout conseil seraient appréciés !

Le composant de thème est la meilleure solution ici ! Pas besoin de modifier le cœur, et nous avons déjà les hooks pour l’ajouter.

Jetez un œil à Composer Help Button (qui est actuellement un plugin, mais pourrait facilement être converti en composant de thème).

Merci, je vais jeter un coup d’œil. Juste pour être sûr : les composants de thème peuvent-ils être ajoutés même par un site hébergé ? Je veux simplement m’assurer que les administrateurs du site que j’utilise peuvent réellement l’installer avant d’y consacrer du temps.

Oui, les composants de thème peuvent être installés par les administrateurs sur un site hébergé. La documentation générale sur les thèmes est disponible ici.

Voici un exemple d’un composant de thème qui ajoute un bouton de barre d’outils dans le compositeur :

https://github.com/discourse/DiscoTOC/blob/master/common/header.html#L373-L393