Il pourrait y avoir une erreur ici, l’activation de ceci (avec l’original désactivé) a créé des problèmes pour les comptes sans accès administrateur. Je ne sais pas ce qui a exactement posé problème, mais certains sujets étaient masqués et la navigation Catégories/Tags était totalement inutilisable pour les comptes non autorisés (TL1).
Pourriez-vous coller ici un exemple reproductible ou un lien vers votre publication sur votre forum (n’hésitez pas à m’envoyer un message privé si vous préférez) ?
Voici une mise à jour qui modernise le composant et apporte la prise en charge de l’éditeur de texte enrichi !
Elle nécessitera peut-être quelques ajustements ou pourrait présenter des cas limites imprévus, mais je pense que c’est un très bon début.
En bref
Ajoute la prise en charge de l’éditeur de texte enrichi (voir ci-dessous pour un aperçu détaillé)
Convertit le rendu en un composant Glimmer
Corrige la couleur CSS avec des callouts imbriqués
Corrige la couleur CSS avec un alias
L’animation de pliage devrait être plus fluide
Ajoute le paramètre callout_transition_duration_ms (animation de pliage)
Ajoute le raccourci Ctrl + q pour insérer un callout par défaut. Il fonctionne sur les deux éditeurs et le raccourci est ajouté à la modale des raccourcis clavier
Images
Parlons de l’éditeur de texte enrichi et de ce à quoi s’attendre !
Création de callouts :
Vous disposez de quatre façons d’insérer des callouts :
Raccourci clavier
Barre d’outils
Règles de saisie
/callout<type>
!!<type>
Prise en charge du collage
Vidéo
Modification des callouts
Les commandes pour modifier un callout n’apparaissent que lorsque vous le sélectionnez au préalable.
Sélecteur de type
En cliquant sur l’icône, un menu flottant apparaîtra.
Titre personnalisé
Prend en charge le formatage en ligne et les emojis
Pliage
Définissez les callouts comme étant réductibles. On y accède via le menu des options.
Vidéo
Organisation des callouts
Commandes de déplacement
Ordinateur de bureau
Il y a une poignée que vous saisissez pour faire glisser et déposer le callout.
Appareil tactile
Vous déplacez les callouts vers le haut/bas ou les imbriquez dans des callouts adjacents. C’est désactivé par défaut pour éviter d’alourdir la vue, car ce n’est pas quelque chose que vous ferez souvent. Vous pouvez basculer cette option dans les paramètres.
Vidéo
Navigation au clavier
Cela facilite la navigation à l’intérieur et à l’extérieur des callouts imbriqués. Il pourrait nécessiter quelques ajustements futurs pour rendre le comportement cohérent dans cette version.
← Au début du titre, le sélecteur de callout s’ouvrira automatiquement.
↑ ↓ À l’intérieur du corps d’un callout sans paragraphe où se poser, il en créera un ; si vous quittez avec un contenu vide, le paragraphe est supprimé.
Entrée à l’intérieur du titre déplace le curseur dans le corps (et en crée un si nécessaire).
Vidéo
Clic pour insérer
Dans les zones où il n’y a pas de paragraphe, vous pouvez cliquer à l’intérieur pour ouvrir un paragraphe.
Si vous préférez, vous pouvez également utiliser des boutons pour ouvrir un paragraphe à l’intérieur ou à l’extérieur d’un callout.
Vidéo
Peut-être que plus tard, je vais chercher :
l’autocomplétion des règles de saisie
améliorer la couleur en utilisant du CSS moderne, pour assurer la cohérence et la visibilité, en particulier en mode sombre.
J’aimerais supprimer tous les paramètres et me concentrer sur la simplicité d’abord, avec une personnalisation avancée uniquement par CSS, mais il est trop tard pour cela
Remerciements spéciaux à Moin pour ses retours.
Voilà. Faites-moi savoir ce que vous en pensez. Vos retours sont très appréciés !
J’ai remarqué que vous avez conçu un effet tel que : si un certain type possède plusieurs alias, lors de la sélection du type dans l’éditeur de texte enrichi, chaque alias apparaît comme une option, et ils sont positionnés consécutivement.
C’est une belle conception, mais il semble qu’elle nécessite d’être étendue davantage : si aucun titre n’est défini, ils afficheront le type de panneau d’information (callout), de sorte que ces options consécutives partageant le même schéma de couleur final afficheront des noms et des titres différents ; cependant, si un titre est défini, ils afficheront et utiliseront le même titre dans la liste que lors de la création réelle d’une citation (Quote), ce qui est quelque peu déroutant.
Si cette extension est difficile à mettre en œuvre, je pense qu’une case à cocher pourrait être fournie pour empêcher l’ajout d’entrées supplémentaires dans la liste de sélection de type qui correspondent un-à-un aux alias lorsqu’un titre est défini.
Vous avez raison ! Merci pour le retour, c’est agréable de voir des gens utiliser le TC.
En fait, j’y ai pensé à un moment donné, mais j’ai complètement oublié de le corriger.
Je vais travailler sur une correction pour filtrer correctement la liste lorsque le titre est défini.
Je viens de tester la dernière version, et maintenant celles qui ont un titre n’en afficheront qu’une seule dans la liste de sélection de catégorie, quel que soit le nombre d’alias.
Je rencontre l’erreur suivante, uniquement lorsque j’utilise la traduction de * :
Console JS :
client-error-handler.js:109 [THEME 6 'Quote Callouts'] TypeError: Cannot set properties of undefined (setting 'callout_sample')
at new po (callouts.gjs:30:19)
at callouts.gjs:265:23
at eK (plugin-api.gjs:3582:10)
at Object.initialize (callouts.gjs:264:5)
at i.initialize (app.js:304:28)
at index.js:375:19
at e.each (index.js:183:7)
at e.walk (index.js:112:10)
at e.each (index.js:59:20)
at e.topsort (index.js:65:10)
at ij._runInitializer (index.js:388:11)
at ij.runInstanceInitializers (index.js:373:10)
at l._bootSync (instance.js:111:22)
at ij.didBecomeReady (index.js:780:18)
at invoke (index.js:262:14)
at m.flush (index.js:180:11)
at g.flush (index.js:334:19)
at Y._end (index.js:762:32)
at Y._boundAutorunEnd (index.js:499:12)
h @ client-error-handler.js:109
Elle se produit à la dernière ligne de ce bloc de citation :
Définissez /u//preferences/interface « Langue de l’interface » sur « Allemand (Deutsch) »
L’erreur semble avoir été introduite lors de l’une des dernières mises à jour de Discourse entre 2026.3.0-latest et 2026.4.0-latest, mais je ne parviens pas à l’identifier plus précisément. Je suis actuellement sur la version 2026.4.0-latest 4b2c45376d et Quote Callout v0.0.1 9aa6548.
Je pensais vraiment que ce genre de problème avait été résolu.
Le paramètre de langue du site est-il défini sur l’anglais par défaut (États-Unis), tandis que la langue de l’utilisateur est définie sur l’allemand, est-ce correct ?
Je ne pense pas que vous puissiez le faire pour le moment, mais je vais trouver un moyen de le faire dans la prochaine mise à jour !
En attendant, il y a une astuce : insérez un espace à largeur nulle et cela devrait fonctionner . Vous pouvez le copier depuis cette page, par exemple : U+200B ZERO WIDTH SPACE - Unicode Explorer