Types de jetons personnalisés Markdown-it causant des erreurs dans RTE

Priorité/Gravité : Faible ?

Plateforme : Appareils utilisant le nouveau RTE.

Description : La création de types de jetons personnalisés, qui fonctionnait auparavant bien avec le seul moteur markdown-it, provoque des erreurs avec ProseMirror. Comme il n’y a pas de schéma ProseMirror pour gérer l’analyse en DOM, tout type de jeton personnalisé crée une erreur. De même, il y a des problèmes de comportement lors du passage du RTE à Markdown avec BBCode.

Étapes reproductibles :

RTE d’abord :

  1. Ouvrir l’éditeur
  2. Définir le mode sur RTE
  3. Insérer du BBCode personnalisé.
    a. Par exemple avec Discourse Meta : [wrap=test2 user-id=1]Contenu[/wrap]
  4. Ignorer l’erreur et passer du mode RTE au mode md.
    a. Le BBCode est échappé

Markdown d’abord :

  1. Ouvrir l’éditeur
  2. Définir le mode sur Markdown
  3. Insérer du BBCode personnalisé.
  4. Passer du mode md au mode RTE.
    a. Le BBCode n’est pas visible
  5. Revenir en arrière pour voir le brut.

Solution de contournement actuelle :
Utiliser uniquement le mode Markdown.


Recevoir l’erreur elle-même n’est pas un gros problème, le plus gros problème réside dans le comportement étrange lors du passage ou lors de l’insertion du code.

La solution idéale serait que chaque plugin markdown crée un assistant/schéma ProseMirror approprié pour le gérer.

Concernant le BBCode générique [wrap], peut-être qu’il vaut mieux le laisser en texte brut, car plusieurs composants pourraient utiliser le BBCode générique dans la même instance Discourse. La solution idéale est probablement de laisser les développeurs créer un assistant personnalisé et de faire correspondre la sortie à leurs propres implémentations, et de laisser le texte brut par défaut s’il n’y a pas de correspondance.

Plus généralement, avec tous les plugins existants qui n’ont pas été mis à jour pour utiliser ProseMirror, laisser le comportement par défaut sur du texte brut (qui n’est pas échappé/caché) serait une bonne solution intermédiaire.

2 « J'aime »

Merci d’avoir signalé, @renato surveille les cas limites comme celui-ci, wrap a été notre solution pour certains composants de thème, nous allons le faire fonctionner.

2 « J'aime »

J’obtiens un message d’erreur similaire si j’ajoute la balise Galerie [grid] en Markdown, puis que je réédite mon article en mode WYSIWYG.

Je comprends que le problème est connu et en cours de résolution, j’ajoute juste le message d’erreur actuel :

No parser processed bbcode_open token for tag: div, attrs: [["class","d-image-grid"]]

Pour ceux qui chercheront cette chaîne sur meta après avoir rencontré ce problème (comme je viens de le faire). :slight_smile:

1 « J'aime »

Nous sommes au courant, le problème est en cours de résolution et devrait être résolu dans quelques semaines.

3 « J'aime »

Je l’ai rencontré moi-même. Heureux que cela soit en cours de traitement.

La grille rend les publications magnifiques au lieu d’un horrible désordre lorsque les utilisateurs téléchargent plusieurs images dans la publication.