Markdown-it benutzerdefinierte Token-Typen verursachen Fehler in RTE

Priorität/Schweregrad: Niedrig?

Plattform: Geräte, die die neue RTE verwenden.

Beschreibung: Das Erstellen benutzerdefinierter Token-Typen, die zuvor mit der markdown-it-Engine einwandfrei funktionierten, verursacht Fehler mit ProseMirror. Da es kein ProseMirror-Schema gibt, das die geparsten Daten in DOM verarbeitet, führen benutzerdefinierte Token-Typen zu einem Fehler. Ebenso gibt es Verhaltensprobleme beim Umschalten zwischen RTE und Markdown mit BBCode.

Reproduzierbare Schritte:

RTE zuerst:

  1. Editor öffnen
  2. Modus auf RTE setzen
  3. Benutzerdefinierten BBCode einfügen.
    a. Zum Beispiel mit Discourse Meta: [wrap=test2 user-id=1]Inhalt[/wrap]
  4. Fehler schließen und zwischen RTE- und MD-Modus umschalten.
    a. BBCode wird escaped

Markdown zuerst:

  1. Editor öffnen
  2. Modus auf Markdown setzen
  3. Benutzerdefinierten BBCode einfügen.
  4. Zwischen MD-Modus und RTE umschalten.
    a. BBCode ist nicht sichtbar
  5. Zurückschalten, um den Rohinhalt anzuzeigen.

Aktueller Workaround:
Nur den Markdown-Modus verwenden.


Das Auftreten des Fehlers selbst ist nicht das große Problem, das größere Problem ist das seltsame Verhalten beim Umschalten oder beim Einfügen des Codes.

Die ideale Lösung wäre, dass jedes Markdown-Plugin einen ordnungsgemäßen Wizard/ProseMirror-Schema erstellt, um es zu verarbeiten.

In Bezug auf den generischen [wrap] BBCode ist es vielleicht am besten, ihn als einfachen Text zu belassen, da mehrere Komponenten denselben generischen BBCode in derselben Discourse-Instanz verwenden könnten. Die ideale Lösung ist wahrscheinlich, Entwicklern die Erstellung eines benutzerdefinierten Wizards zu ermöglichen und die Ausgabe an ihre eigenen Implementierungen anzupassen, und sie auf einfachen Text zurückfallen zu lassen, wenn keine Übereinstimmungen gefunden werden.

Allgemeiner gesprochen wäre es bei allen bestehenden Plugins, die noch nicht für die Verwendung von ProseMirror aktualisiert wurden, eine gute Übergangslösung, sie standardmäßig auf einfachen Text (der nicht escaped/verborgen ist) zurückfallen zu lassen.

2 „Gefällt mir“

Danke für die Meldung, @renato behält solche Ausnahmefälle im Auge. Wrap war unsere erste Wahl für bestimmte Theme-Komponenten, wir werden es zum Laufen bringen.

2 „Gefällt mir“

Ich erhalte eine ähnliche Fehlermeldung, wenn ich den Galerie-Tag [grid] in Markdown hinzufüge und meinen Beitrag dann im WYSIWYG-Modus bearbeite.

Ich verstehe, dass das Problem bekannt ist und daran gearbeitet wird. Ich füge nur die tatsächliche Fehlermeldung hinzu:

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

Für Leute, die diese Zeichenkette auf Meta suchen, nachdem sie dieses Problem hatten (wie ich gerade). :slight_smile:

1 „Gefällt mir“

Wir sind uns dessen bewusst, das Problem wird tatsächlich bearbeitet und sollte in einigen Wochen behoben sein.

3 „Gefällt mir“

Bin selbst auf dieses Problem gestoßen. Gut, dass daran gearbeitet wird.

Das Raster lässt die Beiträge schön aussehen, anstatt ein schreckliches Durcheinander zu sein, wenn Benutzer mehrere Bilder in den Beitrag hochladen.