Markdown-it カスタムトークンタイプがRTEでエラーを引き起こす

優先度/重大度: 低?\n\nプラットフォーム: 新しいRTEを使用するデバイス。\n\n説明: カスタムトークンタイプを作成すると、以前はmarkdown-itエンジンだけで正常に機能していましたが、ProseMirrorではエラーが発生します。ProseMirrorスキーマがないとDOMに解析されたものを処理できないため、カスタムトークンタイプはエラーを引き起こします。同様に、RTEとMarkdownをBBCodeで切り替える際に動作上の問題が発生します。\n\n

\n\n再現手順:\n\nRTEを最初に:\n1. エディタを開く\n2. モードをRTEに設定する\n3. カスタムBBCodeを挿入する。\n a. 例えばDiscourse Metaの場合: [wrap=test2 user-id=1]Content[/wrap]\n4. エラーを無視してRTEモードとmdモードを切り替える。\n a. BBCodeはエスケープされる\n\n\n\nMarkdownを最初に:\n1. エディタを開く\n2. モードをMarkdownに設定する\n3. カスタムBBCodeを挿入する。\n4. mdモードとRTEを切り替える。\n a. BBCodeが表示されない\n\n5. 元に戻して生の表示を確認する。\n\n\n現在の回避策:\nMarkdownモードのみを使用する。\n\n—\nエラー自体が発生することはそれほど大きな問題ではなく、切り替え時やコード挿入時の奇妙な動作の方がより大きな問題です。\n\n理想的な解決策は、すべてのmarkdownプラグインが適切なウィザード/ProseMirrorスキーマを作成して処理することです。\n\n一般的な[wrap] bbcodeに関しては、複数のコンポーネントが同じDiscourseインスタンスで一般的なbbcodeを使用している可能性があるため、プレーンテキストのままにしておくのが最善かもしれません。理想的な解決策は、開発者がカスタムウィザードを作成し、その出力を独自のインプリメンテーションに一致させ、一致が見つからない場合はプレーンテキストにフォールバックさせることでしょう。\n\nより一般的には、ProseMirrorを使用するように更新されていない既存のプラグインについては、プレーンテキスト(エスケープ/非表示ではない)にデフォルト設定するのが良い中間的なフォールバックとなるでしょう。

「いいね!」 2

ご報告ありがとうございます。@renato がこのようなエッジケースを監視しています。wrap は特定のテーマコンポーネントの定番となっていますので、動作するようにします。

「いいね!」 2

Markdownでギャラリータグ [grid] を追加してから、WYSIWYGモードで投稿を再編集すると、同様のエラーメッセージが表示されます。

問題が認識されており、対応中であることは理解しています。実際のメッセージを追加します。

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

この問題が発生した後に(私もそうしたように)メタでこの文字列を検索する方々のために。 :slight_smile:

「いいね!」 1

承知しております。問題はまさに対応中で、数週間以内に解決する見込みです。

「いいね!」 3

私もこれに遭遇しました。対応されているようで嬉しいです。

グリッドは、ユーザーが投稿に複数の画像をアップロードした際に、ひどい散らかり具合ではなく、投稿を美しく見せます。