HTMLで囲まれた画像のMarkdownレンダリング問題

この問題は再び発生しました

単なる思いつきですが、ここで難しい問題(つまり、HTML から Markdown への変換)を回避できないか考えてみます。整理のために要点をまとめます。

  1. Discourse は、投稿コンテンツの作成に HTML のインポートをサポートしています(例:WP Discourse からの HTML)。

  2. 一部のコンテキストでは、ユーザーは元の HTML の整合性が完全に保たれることを期待します。

  3. ここでの「整合性」には少なくとも以下の 2 つの側面があります。

    1. コンテンツのレンダリング方法(例:改行)
    2. メディアのホスト場所(例:画像のローカルへのダウンロードによるリンク切れの防止、またはセキュリティ上の懸念)
  4. HTML から Markdown への変換は、最初の種類の整合性に問題を生じさせる可能性がありますが、現在のところ 2 番目の種類の整合性を確保するために必要です。

したがって、特定のインポートされた投稿に対してこの問題に対処する方法の一つとして、インポートされた HTML をそのまま調理済み(cooked)の投稿コンテンツとして保存し、pull_hotlinked_images ジョブが、img タグを Markdown に変換することなく、そのようなコンテンツ内の画像をダウンロードできるようにするというアプローチが考えられます。

より簡潔に言えば、コードは img タグを Markdown に変換することを要求せずに、ホットリンクされた画像をダウンロードできるようにするかもしれません。そのような投稿の場合、調理済みコンテンツにダウンロードした画像の URL を生コンテンツの代わりに補間します。

「いいね!」 3