お話しした通り、サムネイル生成のロジックは現在、コアに組み込まれています。
TLP が以前に行っていたことは、もはや大部分不要です。
参考までに、コアの組み込み基準は以下の通りです。
def extract_images_for_post
# src 属性を持つすべての画像
@doc.css("img[src]") -
# イモージを除外
@doc.css("img.emoji") -
# 引用内の画像を除外
@doc.css(".quote img") -
# ワンボックスのサイトアイコンを除外
@doc.css("img.site-icon") -
# ワンボックスのアバターを除外
@doc.css("img.onebox-avatar") -
# 小さなワンボックス画像を除外(大きな画像は .aspect-image-full-size)
@doc.css(".onebox .aspect-image img")
end
discourse/lib/cooked_post_processor.rb at main · discourse/discourse · GitHub より
TLP はこれをわずかに変更していますが、条件を緩和するためだけです。可能であれば、このオーバーライドを完全に削除したいと考えています。
def extract_images_for_post
# src 属性を持つすべての画像
@doc.css("img[src]") -
# イモージを除外
@doc.css("img.emoji") -
# 引用内の画像を除外
@doc.css(".quote img") -
# ワンボックスのサイトアイコンを除外
@doc.css("img.site-icon") -
# ワンボックスのアバターを除外 # コアよりも広範な基準
@doc.css("img.onebox-avatar")
end
ご覧の通り、コアで定義されている小さなワンボックス画像を許可することで、除外対象を減らしています。
これを TLP で維持するのではなく、ユースケース全体で合意と整合性を図ることが重要です。そうすれば、プラグイン内でこれを維持する必要がなくなります。
これは @Arkshine にも関連します。