この問題は再び発生しました
単なる思いつきですが、ここで難しい問題(つまり、HTML から Markdown への変換)を回避できないか考えてみます。整理のために要点をまとめます。
-
Discourse は、投稿コンテンツの作成に HTML のインポートをサポートしています(例:WP Discourse からの HTML)。
-
一部のコンテキストでは、ユーザーは元の HTML の整合性が完全に保たれることを期待します。
-
ここでの「整合性」には少なくとも以下の 2 つの側面があります。
- コンテンツのレンダリング方法(例:改行)
- メディアのホスト場所(例:画像のローカルへのダウンロードによるリンク切れの防止、またはセキュリティ上の懸念)
-
HTML から Markdown への変換は、最初の種類の整合性に問題を生じさせる可能性がありますが、現在のところ 2 番目の種類の整合性を確保するために必要です。
したがって、特定のインポートされた投稿に対してこの問題に対処する方法の一つとして、インポートされた HTML をそのまま調理済み(cooked)の投稿コンテンツとして保存し、pull_hotlinked_images ジョブが、img タグを Markdown に変換することなく、そのようなコンテンツ内の画像をダウンロードできるようにするというアプローチが考えられます。
より簡潔に言えば、コードは img タグを Markdown に変換することを要求せずに、ホットリンクされた画像をダウンロードできるようにするかもしれません。そのような投稿の場合、調理済みコンテンツにダウンロードした画像の URL を生コンテンツの代わりに補間します。