WP Discourse と RSS プラグインで作成された投稿の壊れた画像を修正する

この問題は、以下の形式の HTML が Discourse に投稿された際に発生します。特に、トピックが API を通じて Discourse に投稿される場合に起こりやすいです。

<p><img src="remote-image-domain/..."/></p>

画像タグを囲む外部タグ(例:<figure><img src="remote-image-domain/..."/></figure>)があると、この問題が発生します。

Discourse がリモート画像のダウンロードを試みると、最初の例に対して以下の Markdown が生成されます。

<p>![](upload://6zqK52dO23i1JsYH2oyMU12U2ro.jpeg)</p>

これにより、画像の表示が壊れてしまいます。手動で Discourse の投稿を以下のように編集することで修正可能です。

<p>

![](upload://6zqK52dO23i1JsYH2oyMU12U2ro.jpeg)

</p>

ただし、サイト設定の「disabled image download domains」を使用して、Discourse によるリモート画像のダウンロードを無効化するのが、より簡単な解決策です。

WP Discourse プラグインのブロックエディタから投稿された記事の場合、プラグインは公開前に以下のコードで投稿を処理することでこの問題を修正しようとします。

クラシックエディタでも同様の修正を実装できる可能性はありますが、クラシックエディタでは WordPress の parse_blocks 関数が利用できないため、修正はより複雑になります。最終的には、Discourse コアコードの変更によってこの問題が解決されることを期待しています。

「いいね!」 3