DiscourseのGIF

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

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

機能

検索すると、関連する GIF の無限スクロールの壁が表示されます:

recording

1つをクリックすると、現在のコンポーザに挿入されます。コンポーザは次のようになります:

shut up and take my money GIF by Product Hunt

これは ReplyGif: Adding reaction GIF easily の古いフォークを基にしているため、@cpradio に感謝します。

主な違いは次のとおりです:

  • GIF の代わりにアニメーション WebP を使用できるため、帯域幅の効率が大幅に向上します。

  • テーマコンポーネントであるため、インストールと更新がはるかに簡単です。

  • Giphy API または Tenor API の選択が可能です。

  • 結果の無限スクロール

  • 結果の GIF は、ネイティブのビット腐敗保護を使用して Discourse にダウンロードされます。スペースが気になる場合は、既存の設定を使用してこの動作を無効にできます。

  • HTTPS のプロキシを設定するために nginx をいじる必要はありません

Giphy API キーの取得

コンポーネントが機能するには、Dashboard | GIPHY Developers にアクセスして、次のようにクリックする必要があります:

フォームに記入すると、API キーは次のように表示されます:

Tenor API キーの取得

公式の Tenor サイトでそのキーを取得してください:GIF API - Better, Faster & Free | Get Your GIFs with Tenor

その後、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 ユーザーが無限スクロールする際に返される GIF 結果の数を制限し、API レート制限を防ぎます。
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 Guides を参照してください。
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