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

あなたの app.yml のプラグインセクションはどのようになっていますか?正しいプラグインを使用していますか、それとも TC とプラグインを重複して指定していませんか?サイドカーには正確なブランチを使用していることを確認してください。

「いいね!」 1

プラグインをローカルで動作させることができました。問題の原因は、あなたが言及された通り、まずテーマコンポーネントから始めて、その後プラグインを別途追加していたことにありました。テーマコンポーネントは削除しましたが、その後にサーバーを再起動していなかったため、TC とプラグインが重複していたようです。現在はプラグインのみで、エラーなく動作しています。

さて、トピックのメタデータを編集すると、「サムネイルを選択」ボタンが表示されます。そのモーダルで選択できるのは、ローカルに追加された画像のみのようです。トピックにウェブから画像を追加しても、選択モーダルには表示されないようです。この認識で正しいでしょうか?

そのように動作するのは理解できますが、問題なのは、プレビューサムネイルにはローカルに追加された画像が必要だとすると、それらの画像をサーバーに保存しなければならない点です。トピックごとに新しい画像が追加される可能性がある場合、コストが高くなる可能性があります。私の期待は、人々がリンクを追加でき、そのウェブリンク画像がトピックのプレビューサムネイルとして機能する方法があることでした。

それを回避する方法はありますか?あるいは、画像をサーバーに保存せずにトピックリストのプレビューサムネイルを表示する方法はありますか?

「いいね!」 3

避けようがありません。これはネイティブのディスコースの挙動です。すべての画像をアップロードする必要があります。オフサイトのアップロード先を設定することはできますが、それでもアップロードが必要であり、あなたのインフラからリモートにあるだけではダメです。

「いいね!」 1

ありがとうございます。なるほどですね。画像がトピックのプレビューサムネイルとして機能するためには、実際にそのトピック内に画像が含まれている必要があるようです。その認識で合っていますか?

ユーザーの中には、トピックのサムネイルとして特定の画像を使いたいけれど、トピック本文にはその画像を表示したくないと考える人もいるかもしれません。

それはサポートされていません

了解しました。これは非常に役立つプラグインです。多くの時間を節約できました!

「いいね!」 2

このプラグインで 2 つのバグを確認しました。

  1. 私の Discourse フォーラム自体にアップロードされた画像がないトピックの場合でも、他のサイトや CDN から SRC 属性を持つリンク画像が含まれている場合、このプラグインはその画像を検出せず、トピックフィードにリンク画像を表示しません。現在、フォーラム自体にアップロードされた画像がある場合のみ、トピックフィードに画像が表示されます。1 番目の投稿に含まれる最初のリンク画像をトピック画像として検出し、トピックフィードに表示するように修正すべきです。私のフォーラムは規模が大きいですが、画像ストレージを持っていないため、ユーザーの画像は外部の画像ホスティング CDN に保存し、その CDN からの画像リンクを使用してフォーラム上で画像をレンダリング・プレビューしています。

  2. 上記の問題を解決するため、ランダム画像サービスを使用しようとも試みました。例えば https://picsum.photos/https://source.unsplash.com/random です。これらの URL にアクセスするたびに異なるランダムな画像が返されます。これをデフォルトのサムネイル画像として設定しましたが、このプラグインは同じ画像を繰り返し表示するだけで、トピックごとに固有のデフォルト画像を表示しません。

表示は以下のようになります。Yoga 少女の写真はユーザーが当サイトにアップロードしたため表示されていますが、他のトピックも CDN を使用したリンク画像を含んでいてもプレビューされず、https://source.unsplash.com/random または https://picsum.photos/200 のいずれかから取得した 1 つの同じ画像のみがプレビューされています。

Discourse 自体も、https://d11a6trkgmumsb.cloudfront.net/original/3X/6/4/64dff560b7c63a2c11c20374ec3427e2ac558437.png のような外部 CDN に画像をアップロードしています。

したがって、このプラグインは、外部サイトや画像 CDN にアップロードされたが、1 番目の投稿に含まれるトピックの最初の画像であるリモート画像を読み取り、検出する機能をサポートする必要があります。

また、トピックをソーシャルメディアで共有する際、Open Graph タグも画像を検出できず、トピックに実在する画像が含まれていても、サイトロゴのみが表示され、画像は表示されません。ただし、その画像は単なるリンクされたリモート画像です。

これらの問題をどのように解決すればよいでしょうか?URL にランダムな数を追加して、リクエストのたびに一意の URL を生成し、トピックごとに常に一意の画像を表示させる方法はありますか?

もし、1 番目の投稿から外部 CDN 由来のリンク画像や SRC 画像を自動検出し、それをトピック画像として表示してホームページに表示する機能を追加していただければ、私の問題は簡単に解決します。

どなたかお手伝いいただけませんか?

「いいね!」 1

具体的にどういう意味でしょうか?すべての画像を単一の S3 プロバイダーにホストし、指定された CDN を介してアクセスしているのでしょうか?

ここにあるサービスを使用していますか?Configure an S3 compatible object storage provider for uploads

そうでない場合、この質問はこのプラグインの範囲外となります。「トピック一覧プレビュー」は、サムネイルを提供するためにコアの Discourse アーキテクチャを利用するだけです。サムネイルを作成するために使用される画像は、サイト設定で指定されたローカルまたは割り当てられたオフサイトストレージにアップロードされている必要があります。他のソースはサポートされていません。サムネイルを作成するプロセスはコアの Discourse プロセスであり、これらのソースに対してのみ動作します。

もちろん、デフォルトのフォールバック画像はパブリックな場所であればどこにでも構いませんが、それが唯一の例外です。

トピックの公開用 og タグは、選択されたサムネイルを反映する必要があります。これはプラグインの機能ではなく、これもコアの Discourse の機能です。

「いいね!」 1

こんにちは、Robert さん、

迅速な返信をありがとうございます。

はい、その通りです。Discourse コアは、外部の公開サイトにホストされている画像であっても、あなたのプラグインのように画像を検出する必要があります。これがまさに私が Discourse コアにサポートしてほしい機能です。この機能のリクエストはどこですればよいでしょうか?

基本的に、私のトピックの画像は、imgur や https://pixabay.com/ など、無料で画像を使用できる他の外部公開サイトから読み込まれています。オブジェクトストレージは使用していません。

つまり、ストレージコストを節約するために、画像を自分の Discourse サーバーにアップロードしたことはありません。

画像を表示するために、第三者の無料画像ホスティングサイトを使用しています。詳しく説明しますね。

例えば、このトピック How Many Carbs on Keto? - How To Discuss をご覧ください。

e.g

この最初の画像は実際には imgur から読み込まれています。ソースを確認してください。

実際の画像 URL は Imgur: The magic of the Internet です。

同様に、このトピック How to do Handstand yoga? - How To Discuss では、
画像は実際にはこの URL にホストされています。トピックのソースを確認してください。

これらのすべてのケースで、私は 2 つの問題に直面しています。

  1. これらの外部画像は検出されず、トピックプレビュープラグインのトピックサムネイルとして表示されません。私のホームページ https://howtodiscuss.com/ をご覧いただければわかりますが、すべてのトピックに画像があるにもかかわらず、これらの画像を検出できません。

  2. また、Facebook、Twitter、LinkedIn、Skype などのソーシャルメディアサイトにトピックを共有するたびに、メタ OG タグが私の外部の img src を取得しないため、常にフォールバックして、実際のトピック画像の代わりに私のサイトのロゴがトピック共有リンクに表示されてしまいます。

例えば、Facebook の投稿をご覧ください。トピックには確かに画像があるのに、フォールバックとして常に私のサイトのロゴが表示されてしまいます :frowning:

問題を確認するために、以下の URL をお試しください Social Share Preview of howtodiscuss.com - Social Share Preview – Check social media link previews

トピックには外部の公開サイトに画像がありますが、それでも常に私のサイトのロゴにフォールバックしてしまいます。この動作は望んでいません。

私の友人も Discourse とこのトピックリストプレビュープラグインを使用しており、同じ問題に直面しています @Bcat

どうすれば解決できますか?もしかすると、トピックの HTML に、外部 CDN のリモート画像の img src を含む強制メタ OG タグを追加できるかもしれません。その方法はどうすればよいでしょうか?そうすれば、ソーシャルメディアサイトとこのトピックリストプレビュープラグインが私のトピックの画像を検出して、ホームページに表示できるようになります。

各トピックの公開 OG タグをどのように変更または上書きすれば、それらの公開画像をトピックのサムネイルとして取得できるか教えていただけますか?

「いいね!」 1

サムネイルを生成するには、Discourse 内のローカルアップロードまたはネイティブな S3 統合機能を使用する必要があります。フォールバック画像(これは非常に表面的で og タグには影響しません)を除き、他のソースはサポートされていません。

Discourse チームとはここで議論するか、#feature トピックを開始することもできます。

「いいね!」 2

@merefield アップデートの時間です!:tada: 既知の問題はありますか?

「いいね!」 2

Bart、問題は見つかっていません。ステージングサーバーのビルドはどう進んでいますか?:wink:

「いいね!」 2

前回のアップデート後、インデックスページが真っ白になりました。非公式プラグインのトピック一覧プレビューに何か問題があるようです。そのため、それを無効化したところすべて正常になりました。同じ問題に直面している方、または解決策をご存知の方がいれば教えてください。よろしくお願いいたします。

「いいね!」 2

ご報告ありがとうございます。昨日、同様の問題を抱えていた Locations プラグインを修正しました。確認いたします。

「いいね!」 1

修正を再構築して確認していただけますか?

https://github.com/paviliondev/discourse-topic-previews/commit/2e927e0714c10bcacb075fdd719347f5b50bc21e

「いいね!」 2

参考までに、混乱を招かないよう、この修正を TC にも適用しました:COMPATIBILITY: removed deprecated routes · merefield/discourse-tc-topic-list-previews@b8f1a78 · GitHub

「いいね!」 3

TCとヘルパープラグインを使用している方で、アップグレードを控えている方へ:TCをアップグレードする前に必ずTC自体を更新してください。私がコアやプラグインを更新した際、画面が真っ白になり、以下のエラーが表示されました。

セーフモードでログインしてTCを更新したところ、現在はすべて正常に動作しています!

「いいね!」 2

はい、良いアドバイスですね。ありがとうございます、デビッドさん。

「いいね!」 3

こんにちは、Rob。topic list tiles categories設定にこのカテゴリが含まれていないにもかかわらず、スタッフカテゴリにサムネイルが表示されていることに気づきました。これは、異なる設定のすべてのサイトで確認しています。これは制限事項でしょうか、それともバグでしょうか?

「いいね!」 2

再現できませんでした。5日以降に更新されましたか?

「いいね!」 2