トピック一覧プレビュー(レガシー)

サムネイルは現在、コアによって作成されます。元の画像よりも大きなサムネイルは作成されません。

これを考えると、あなたが求めているのは可変サイズのサムネイルですが、少しごちゃごちゃした見た目になるかもしれません。これは現在サポートされていません。

妥協案として、サムネイルを小さくすることで、低解像度のものがあまり悪く見えないようにすることをお勧めします。

「いいね!」 1

はい、それが一部のサムネイルの問題の原因かもしれません。しかし、他のサムネイルの説明にはなりません。いくつかのトピック(今日投稿されたものもあれば、TLP プラグインのアップグレード前に投稿された数週間前に遡るものもあります)には、2000 ピクセルを超える大きな画像がアップロードされているにもかかわらず、フロントページには非常に小さな 50 ピクセルや 100 ピクセルのサムネイルが生成されています。

[quote=“merefield, post:1125, topic:101646”]
考えてみると、あなたが求めているのは可変サイズのサムネイルですが、少しごちゃごちゃした見た目になるかもしれませんね?[/quote]

いいえ、設定通り単一の標準的な幅と解像度を持ち、高さは可変というものを求めています。

topic_list_thumbnail_width は 284
topic_list_thumbnail_height は 0
topic_list_thumbnail_resolution_level は 4(デフォルトの 2 では正しく動作しなかったため 4 を使用しました。デフォルトの 2 のままでは 1024 ピクセルのサムネイルが生成され、必要な 400 ピクセルサイズが得られませんでした。どうやら 4 がそれに対応しているようです)

これらの設定の解釈は以下の通りです。

  1. 画像サムネイルの幅は 400 ピクセル
  2. タイルは、元の画像のアスペクト比に応じて、幅 284 ピクセルで高さが可変の画像を表示する

しかし、フォーラムでは一部のトピックでランダムに 50 ピクセル幅または 100 ピクセルの画像が提供されているようです。これらの画像は、当サイトでは常に 284 ピクセルのタイルフレーム内に表示されるため、小さなサムネイルがタイルを埋めるように引き伸ばされ、ぼやけて見えています。

「いいね!」 2

/latest.json の出力を Firefox で確認し、どのサムネイルが保存されているかを確認してください。

また、ブラウザのインスペクターを使用して、ページに表示されているサムネイルのサイズを確認することもできます。

何か異常な点があれば、お知らせください。

ああ、幅の設定はタイルには関係ありません。(小さくしたり、非常に高く設定したりしてみてください)重要なのは解像度だけです。

もしかして、タイルビューはあなたには適していないのかもしれませんね?

低解像度のサムネイルがタイルビューに表示されないようにするべきでしょうか?つまり、全く表示しないようにするのです。おそらく、50x50 のものをすべてフィルタリングすればよいでしょう。

「いいね!」 1

私が今まさに何が起きているのかを突き止めたと思います…私が目撃している状況に基づいた最善の推測は以下の通りです:

問題は、TLP が /latest.json 内の thumbnails にアクセスする方法にあります。thumbnails にはトピックごとに要素数が一定ではありません。サムネイルを作成するために選ばれた元のトピック画像が実際には 1024px より小さい場合、そのサイズのサムネイルは生成されず、thumbnails 配列にはそのサイズの要素(エントリ)が存在しません。thumbnails から要素が欠落しているため、プラグインのカウントが 1 つずれてしまい、間違ったサムネイルサイズが返されます。元のトピック画像の幅が 800px より小さい場合、1024px と 800px の幅のサムネイルは生成されず、プラグインのカウントが 2 つずれてしまい、さらに小さい間違ったサムネイルが返されます :wink:

どうやら、プラグインは thumbnails 配列を事前に決められた要素まで順に辿っているようですが、実際にはトピック一覧の解像度設定(site setting)に対応する特定の max_width を持つ要素を探す必要があるようです。このようにすれば、latest.json 内の thumbnails 配列の長さがトピックによって異なっていても、正しいサムネイル幅を返すことができます。

これにより、当フォーラムのトピックタイルの一部が 50px 幅、一部が 100px 幅、そして大部分が正しい 400px 幅で表示されていた理由が説明できます…幅が小さいタイルは、元の画像が 1024px 未満、あるいは 800px 未満の幅を持っていたためです。

これが理解できることを願っています!

また、タイルの幅が 284px 必要ですので、register_topic_thumbnail_size [300, 300] を追加していただけますでしょうか。400px のサムネイルをロードするよりも、300px のサムネイルをロードする方が当方には適しています。理想的には正確な幅を生成したいところですが、おそらく正式版がリリースされたら Theme Component に移行し、そこで独自のカスタム幅を追加する予定です。

プラグインとコンポーネントの両方へのご尽力に感謝します!:clap:

申し訳ありませんが、問題がまだ理解できていません。

ご提示いただいた解決例は、800x800 よりも高解像度のサムネイルを生成しないため、関連性がありません。配列内の最高解像度のものは、単に元の画像です。

いずれにせよ、低解像度の画像が問題だとお考えだった我以为ので、なぜこのような大きな画像の例を示されたのでしょうか?この大きな画像が 50x50 のレベルで表示されているとおっしゃるのでしょうか?

はい、もちろんサムネイル配列の長さは変動します。アルゴリズムはそれを処理するように設計されています。バグがある可能性はありますが、サムネイルリストの長さが可変であることは、現在のコードの暗黙的な前提となっています。

選択したサムネイル解像度のレベルを採用し、必要に応じて調整します。例えば:

  • スクリーンが Retina であると識別された場合、選択を一段階上げ、結果としてより高解像度になります。

  • 指定された解像度が存在しない場合、次に利用可能な最高解像度を選択します。

前述の通り、50x50 しか利用できない場合は、Tiles 内でサムネイルを完全に非表示にするべきかもしれません。

カスタム解像度を追加したい場合は、現時点ではプラグインをフォークしてください。サムネイルは意図的に倍増(2 倍)の関係になっています。特定のユーザーのためにこれを変更すると、すべてのユーザーのディスク容量使用量が増加します。元画像と非常に厳密に一致させることはそれほど重要ではないと思います。これらは単なるサムネイルプレビューです。とはいえ、一般的な Tiles のユースケースにより近い解像度を設けるべきケースがあるかもしれません。検討してみます。

「いいね!」 1

はい、400x400 や 200x200 のサイズも利用可能であるにもかかわらず、大きな画像が 50x50 レベルで表示されているトピックがいくつかあります。これらのトピックの間で見られた唯一の一貫性は、アップロードされた元画像の幅が 1024px 未満、あるいは 800px 未満であったことです。そのため、サムネイル配列からそれらのサイズが欠落していました。これにより、プラグインがサムネイルにアクセスする方法が、サムネイル配列の長さと何らかの関係があるのではないかと考えました。

カスタムサイズの追加を行わないことについては完全に理解しています。詳しいご説明ありがとうございます👍

「いいね!」 1

ああ、わかりました。その情報は役立ちますね。もしかしたらバグがあるかもしれません。機会を見つけて確認します。

「いいね!」 2

まさにこの機能を使いたいですね。特定の時刻のサムネイルサイズを正確に生成したいので!

「いいね!」 1

問題のあるフルサイズの画像を PM していただけますか?それを見てテストします。また、設定されている解像度レベルと、問題が発生しているデバイスについてもご確認ください。

「いいね!」 2

完了しました!@merefield さん、ご調査ありがとうございます。

「いいね!」 1

私だけかもしれませんが、テーマコンポーネントを使用したモバイル上のサムネイルが動作しなくなりました。トピックサムネイルのテーマコンポーネントではまだ動作しているようなので、バグのようです。参考までに、コンソールに関連するエラーは見当たりません。

「いいね!」 2

再現できません。最新のテスト通過ではすべて正常です。

「いいね!」 1

みなさん、アップグレードの期限は今週末日曜日で終了します。

直ちにプラグインと TC を簡易チェックアウトしましたが、すべて正常です。

日曜日以降のアップグレードはお控えください。来月まで、破壊的変更の修正は約束いたしません。

「いいね!」 1

いくつかのトラブルシューティングの結果、イベントプラグインとの競合であることが判明しました。再現できますか?

「いいね!」 2

プライベートメッセージで詳しく説明しましたが、要するに TLP のカスタム解像度サイズに問題があるようです。幅が 1024px 以下の画像をアップロードすると、1024x1024 のサムネイルが生成されません。幅が 800px 以下の画像をアップロードすると、800x800 のサムネイルが生成されません。これは期待通りの動作です。

しかし、解像度レベル 2 が実際には 400x400 サイズをロードするのではなく、以下のように動作しているのは予期せぬことです。

  1. 元の画像のアップロード幅が 1024px を超えるすべてのトピックに対して、1024x1024 のサムネイルがロードされる
  2. 元の画像のアップロード幅が 1024px 以下だが 800px を超えるすべてのトピックに対して、800x800 のサムネイルがロードされる
  3. 元の画像のアップロード幅が 800px 以下だが 400px を超えるすべてのトピックに対して、400x400 のサムネイルがロードされる
  4. 元の画像のアップロード幅が 400px 以下だが 100px を超えるすべてのトピックに対して、100x100 のサムネイルがロードされる

解像度レベル 2 は、すべてのトピックに対して単に 400x400 サイズのサムネイルをロードするものだと思っていました。

「いいね!」 1

David/Nick 様、

はい、解像度を選択するために使用していたアルゴリズムを再度確認し、改善を行いました。

これは TC とプラグインにデプロイ済みです。

なお、新しい解像度スケールは 0 から 6 までで、0 が元の画像、1 が次の最高解像度、6 が最も低い解像度を表します。

プラグイン/TC を更新し、これで動作が改善されるかご報告ください。

@davidkingham@internet_cookie 様、ご指摘いただきありがとうございます。

(David 様、これがご指摘の問題だと思われますが、異なる可能性もあります)

「いいね!」 2

Rob さん、ありがとうございます。残念ながら、それでは私の問題が解決しませんでした。イベントプラグインとの競合がまだ残っています。私の 本番サイト では、モバイルでサムネイルが機能していないことが確認できますが、イベントを無効にした 開発サイト では機能しています。

「いいね!」 2

TLP プラグインを含め、彼らがどのようにして共存できたのか理解できません。どちらもモバイルのトピックリストアイテムテンプレートを上書きしています。これは決定的な問題です。当面は、どちらか一方を選ぶ必要があります。

長期的には、テンプレートのオーバーライドを避けるために、CSS またはプラグインのアウトレットのみのバージョンを実験する可能性がありますが、現時点ではそれは「生活を支える優先事項」ではありません。

ただし、TLP がタイルをレンダリングするために必要なオーバーライドの範囲は、単にアウトレットを使用するだけでは実現できない可能性があります。

「いいね!」 1

残念、イベントがようやく戻ると期待していたのにね、笑!トピックサムネイルのテーマコンポーネントがイベントプラグインと連携しているのは興味深いことだ。あなたの結論を疑っているわけではなく、ただお手伝いしようとしているだけだよ。それによってテンプレートも上書きされているように見える?はっきりさせておくと、私が話しているのはDiscourseチームのカレンダープラグインではなく、Pavilionのイベントプラグインのことだ。

「いいね!」 2

そのレイアウトはテンプレートのオーバーライドを必要としないためです。TLP ではより多くの要素を配置しており、その一部はネストされた div 内に含まれているため、同じようには機能しません。そのため、テンプレートオーバーライドに依存する必要があります。通常、これはリーフノードであるため、それほどリスクはありません。

「いいね!」 2