DiscourseのGIF

:discourse2: 概要 Discourse Gifs は、投稿作成画面にボタンを追加し、GIF を検索して最適なものを投稿に簡単に追加できるようにします。
:hammer_and_wrench: リポジトリリンク https://github.com/discourse/discourse-gifs
:open_book: Discourse テーマが初めての方へ Discouse テーマの利用に関する初心者ガイド

このテーマコンポーネントをインストール

機能

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

recording

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

shut up and take my money GIF by Product Hunt

これは、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 文字未満に短縮して再度お試しください。

:discourse2: 当社がホストしていますか? テーマコンポーネントは、Standard、Business、および Enterprise プランで利用可能です。

「いいね!」 84

@Heather_Dudley さん、こんにちは。

コンポーネントが WebP ではなく GIF 形式を強制的に使用するよう設定する新しいサイト設定を追加しました。

ただし、画質は劣化するものの、ディスク容量やネットワーク帯域幅は 2 倍以上を消費することに注意してください。

こちらの GIF をご覧ください:

GIF: 3.5MB
giphy

WEBP: 1.4MB
Detective Pikachu Reaction GIF

MP4: 1MB

AVIF: 276.8 KB

また、他のすべてのユーザー向けに、検索モーダルに自動フォーカスを追加しました!

「いいね!」 17

素晴らしい、ありがとうございます!まさに探していた機能でした :slight_smile:

「いいね!」 3

設定はどこですか、@Falcoさん?有効にする設定が見つかりません。

「いいね!」 1

「いいね!」 1

いいえ、私は盲目ではありません。そのオプションはありません。API キーのみがあります:

リンクされているリポジトリ:https://github.com/discourse/discourse-gifs/tree/giphy

「いいね!」 1

おっと、古いブランチにインストールされていますね。メインブランチから再インストールしてください:GitHub - discourse/discourse-gifs · GitHub

「いいね!」 3

ああ、それで解決ですね。ありがとうございます。問題は起こらないと思いますが、もし何かあればお伝えします!

「いいね!」 4

Google の Tenor プラットフォームを利用することはできないのでしょうか?Facebook が Giphy を買収した後、私は Giphy の使用を中止し、Tenor に切り替えました。

「いいね!」 3

このコンポーネントは最初のバージョンで Tenor を使用していましたが、他の形式に比べて WEBP GIF の使用が使い勝手を大幅に向上させるため、Giphy に移行しました。また、Tenor は WEBP GIF をサポートしていません。

「いいね!」 4

皮肉なことに、WebP 形式を作ったのは Google であり、今や Tenor を所有しているのも Google なのです。

「いいね!」 8

もしかして、直接アニメーション AVIF へ移行するのでしょうか?Chrome ではすでに利用可能で、近々最新のブラウザ全体で使えるようになるはずです。

上記の投稿に追加しました。ファイルサイズが驚くほど小さいです:

「いいね!」 5

そのフォーマットの開発状況はいかがでしょうか?他の企業(Discourse :wink: も含む)が採用するまでにどれくらいかかると思いますか?

「いいね!」 2

ブラウザのサポートが整えば、Discourse はすぐにそれに対応できます: AVIF image format | Can I use... Support tables for HTML5, CSS3, etc

「いいね!」 4

@eviltrout のおかげで、モバイル環境ではGIFボタンをより適切な位置にレンダリングするよう変更しました。これにより、このような問題は二度と発生しません!

「いいね!」 10

@Falco さん、ありがとうございます。メッセージのプレビュー中に GIF ボタンを非表示にすることは可能でしょうか?


ありがとうございます。

「いいね!」 1

テーマコンポーネントについてはあまり詳しくないのですが、特定の1つのカテゴリでのみこれを有効化することは可能でしょうか?

当サイトには、ランダム/オフトピ/ふざけ系のカテゴリがあり、そこにこの機能を追加するのは素晴らしいアイデアだと思います。でも、もしすべてのカテゴリに追加してしまうと、大混乱が起きるでしょう :rofl:

「いいね!」 4

CSS で試すことはできますが、フォーラムを移動してもコンポーザーが開いたままになるため、100% 機能するかどうかは確信が持てません。

以下のような形になります。

:not(.category-your_category_id) .d-icon-discourse-gifs-gif-icon {
    display: none
}
「いいね!」 4

良いアイデアですね。前回のバージョンで追加しましたので、アップデートしてください!

「いいね!」 8

これは素晴らしい!よくできました。さっそく私のフォーラムに追加しました!

「いいね!」 4