@Canapin へ、こんにちは
これに関する更新情報です。
この問題は、以下の条件が揃った際に発生します。
- wp-discourse で「フル投稿コンテンツ」設定を有効にしている
- WordPress で、絵文字の挿入前に少なくとも 1 行のコンテンツを含む投稿を作成している
まず、今回のケースでも上記の操作(特に「フル投稿コンテンツ」設定)を行っていただいているか、確認いただけますでしょうか。
このような状況では、wp-discourse プラグインが HTML を Discourse へ送信し、それがトピック埋め込みとしてインポートされます。Discourse が投稿作成時に HTML を処理する際、この問題を含めいくつかの異なる問題が発生する可能性があります。例えば、以下のような問題もあります:Fix broken images for posts created by the WP Discourse and RSS plugins
技術的な観点から(あなたが技術者であることは承知しています
)、関連する Discourse の Ruby クラスを使用して、Unicode 絵文字を含む HTML 文字列をパースしようとすると、問題が直接確認できます。
問題の技術的詳細
rails c
PrettyText.cook("<p>This is the sentence before the emojis</p><div>🦊🦊🦊🦊</div>")
=> "<p>This is the sentence before the emojis</p><div>🦊🦊🦊🦊</div>"
対して
rails c
PrettyText.cook("🦊🦊🦊🦊")
=> "<p><img src=\"/images/emoji/twitter/fox_face.png?v=9\" title=\":fox_face:\" class=\"emoji\" alt=\":fox_face:\"><img src=\"/images/emoji/twitter/fox_face.png?v=9\" title=\":fox_face:\" class=\"emoji\" alt=\":fox_face:\"><img src=\"/images/emoji/twitter/fox_face.png?v=9\" title=\":fox_face:\" class=\"emoji\" alt=\":fox_face:\"><img src=\"/images/emoji/twitter/fox_face.png?v=9\" title=\":fox_face:\" class=\"emoji\" alt=\":fox_face:\"></p>"
では、これに対してどう対処しているのでしょうか?
一般的に、WordPress のフル投稿 HTML から Discourse 投稿への変換において、いくつかの問題が発生することは予想されます。Discourse 上の WordPress 投稿の記録は、単にその投稿の記録に過ぎません。
とはいえ、@simon と私は、wp-discourse および Discourse 自体において、このプロセスを改善するために積極的に取り組んでおり、適切な優先順位付けを行っています。この問題については、まず上記の「画像破損問題」など、他のいくつかの事項に焦点を当てて対応を進める予定です。そのため、この問題の公式な修正については、もう少しお待ちいただく必要があります。