機能
検索後、関連する GIF が無限スクロールで表示されます。

いずれかをクリックすると、現在の投稿作成画面に挿入されます。その様子は以下の通りです。

これは、ReplyGif: 反応用 GIF を簡単に追加 の古いフォークを大幅にベースにしています。@cpradio さんに感謝します。
主な違いは以下の通りです。
- GIF の代わりにアニメーション WebP を使用できるため、帯域幅の効率性が大幅に向上します。
- テーマコンポーネントとして提供されているため、インストールと更新が非常に簡単です。
- Giphy API または Tenor API の選択が可能です。
- 結果の無限スクロールに対応しています。
- 生成された GIF は、Discourse のネイティブなビットロット保護機能を使用してダウンロードされます。ストレージ容量が懸念される場合は、既存の設定でこの動作を無効にできます。
- HTTPS 用のプロキシを設定するために nginx をいじる必要がありません。
Giphy API キーの取得
このコンポーネントを機能させるには、Dashboard | GIPHY Developers にアクセスし、以下のようにクリックしてください。
フォームを入力すると、API キーが以下のように表示されます。
Tenor API キーの取得
公式 Tenor サイトでキーを取得してください:GIF API - より速く、より良く、無料で | Tenor で GIF を入手
その後、Discourse のテーマコンポーネントページにアクセスして設定を入力します。例:
設定
| 名前 |
説明 |
| api provider |
どの GIF プロバイダーを使用しますか? |
| giphy api key |
GIPHY: API キー |
| giphy file format |
GIPHY: 使用する画像形式。WEBP はファイルサイズが小さく読み込みが速い一方、GIF は古いブラウザとの互換性を提供します。 |
| giphy content rating |
GIPHY: 検索結果のコンテンツレーティング。詳細は https://developers.giphy.com/docs/optional-settings#rating をご覧ください。 |
| giphy locale |
GIPHY: 検索に使用する言語。地域固有のコンテンツに合わせて検索を最適化するために使用されます。デフォルトのフォーラムロケールに設定してください。 |
| limit infinite search results |
無限スクロール時の API レート制限を防ぐために、返される GIF 結果の数を制限します。 |
| max results limit |
Tenor & GIPHY: 「limit infinite search results」が有効な場合、この最大 GIF 結果数に達するまで検索を続けます。各 API 呼び出しで 24 件の結果が取得されます。例:最大制限 240 の場合、240 / 24 = 10 回の API 呼び出しが必要。 |
| tenor api key |
Tenor: V2 API キー。取得方法は Discourse Meta - Discourse Gifs をご覧ください。 |
| tenor client key |
Tenor: (オプション)統合を表すクライアント指定の文字列 |
| tenor file detail |
Tenor: 使用する画像形式 |
| tenor content filter |
Tenor: Tenor 結果のコンテンツセーフティレベル。詳細は Tenor API ガイド をご覧ください。 |
| tenor country |
Tenor: リクエストの発信国を表す 2 文字の国コード。国コードは Wikipedia - ISO_3166-1 で確認できます。 |
| tenor locale |
Tenor: 検索に使用する言語。方言を区別するために国コード(オプション)を指定できます。 |
| 翻訳 |
デフォルト |
| gif.modal_title |
GIF を検索 |
| gif.query |
検索語 |
| gif.insert |
選択した画像を挿入 |
| gif.composer_title |
GIF を検索 |
| gif.no_results |
上記の入力ボックスにキーワードを入力して GIF を検索してください。 |
| gif.bad_api_key |
無効な $api_provider API キーです。サイト管理者の方は、キーおよび/または $api_provider アカウントを確認してください。 |
| gif.error_rate_limit |
$api_provider API のレート制限に達しました。しばらく待ってから再度お試しください。この問題が解決しない場合は、サイト管理者に連絡してください。 |
| gif.error_search_too_long |
検索クエリを 50 文字未満に短縮して再度お試しください。 |
当社がホストしていますか? テーマコンポーネントは、Standard、Business、および Enterprise プランで利用可能です。
「いいね!」 84
Falco
(Falco)
115
@Heather_Dudley さん、こんにちは。
コンポーネントが WebP ではなく GIF 形式を強制的に使用するよう設定する新しいサイト設定を追加しました。
ただし、画質は劣化するものの、ディスク容量やネットワーク帯域幅は 2 倍以上を消費することに注意してください。
こちらの GIF をご覧ください:
GIF: 3.5MB

WEBP: 1.4MB

MP4: 1MB
AVIF: 276.8 KB
また、他のすべてのユーザー向けに、検索モーダルに自動フォーカスを追加しました!
「いいね!」 17
素晴らしい、ありがとうございます!まさに探していた機能でした 
「いいね!」 3
設定はどこですか、@Falcoさん?有効にする設定が見つかりません。
「いいね!」 1
いいえ、私は盲目ではありません。そのオプションはありません。API キーのみがあります:
リンクされているリポジトリ:https://github.com/discourse/discourse-gifs/tree/giphy
「いいね!」 1
Falco
(Falco)
135
おっと、古いブランチにインストールされていますね。メインブランチから再インストールしてください:GitHub - discourse/discourse-gifs · GitHub
「いいね!」 3
ああ、それで解決ですね。ありがとうございます。問題は起こらないと思いますが、もし何かあればお伝えします!
「いいね!」 4
Google の Tenor プラットフォームを利用することはできないのでしょうか?Facebook が Giphy を買収した後、私は Giphy の使用を中止し、Tenor に切り替えました。
「いいね!」 3
Falco
(Falco)
139
このコンポーネントは最初のバージョンで Tenor を使用していましたが、他の形式に比べて WEBP GIF の使用が使い勝手を大幅に向上させるため、Giphy に移行しました。また、Tenor は WEBP GIF をサポートしていません。
「いいね!」 4
orenwolf
(Ken Snider)
140
皮肉なことに、WebP 形式を作ったのは Google であり、今や Tenor を所有しているのも Google なのです。
「いいね!」 8
Falco
(Falco)
141
もしかして、直接アニメーション AVIF へ移行するのでしょうか?Chrome ではすでに利用可能で、近々最新のブラウザ全体で使えるようになるはずです。
上記の投稿に追加しました。ファイルサイズが驚くほど小さいです:
「いいね!」 5
そのフォーマットの開発状況はいかがでしょうか?他の企業(Discourse
も含む)が採用するまでにどれくらいかかると思いますか?
「いいね!」 2
Falco
(Falco)
143
「いいね!」 4
Falco
(Falco)
145
@eviltrout のおかげで、モバイル環境ではGIFボタンをより適切な位置にレンダリングするよう変更しました。これにより、このような問題は二度と発生しません!
「いいね!」 10
mstm
(mstm)
146
@Falco さん、ありがとうございます。メッセージのプレビュー中に GIF ボタンを非表示にすることは可能でしょうか?
ありがとうございます。
「いいね!」 1
Richie
(Richie Rich)
147
テーマコンポーネントについてはあまり詳しくないのですが、特定の1つのカテゴリでのみこれを有効化することは可能でしょうか?
当サイトには、ランダム/オフトピ/ふざけ系のカテゴリがあり、そこにこの機能を追加するのは素晴らしいアイデアだと思います。でも、もしすべてのカテゴリに追加してしまうと、大混乱が起きるでしょう 
「いいね!」 4
Steven
148
CSS で試すことはできますが、フォーラムを移動してもコンポーザーが開いたままになるため、100% 機能するかどうかは確信が持てません。
以下のような形になります。
:not(.category-your_category_id) .d-icon-discourse-gifs-gif-icon {
display: none
}
「いいね!」 4
Falco
(Falco)
149
良いアイデアですね。前回のバージョンで追加しましたので、アップデートしてください!
「いいね!」 8
DogeRTX
(ǝɹıɐuoıllıᙠoʇdʎɹƆ / threadripper.eth)
166
これは素晴らしい!よくできました。さっそく私のフォーラムに追加しました!
「いいね!」 4