| 概要 | Discourse Animated Avatars は、ユーザーがアニメーション付きの gif/webp アバターをアップロードできるようにするプラグインです。投稿、ユーザーカード、プロフィールページで、ホバーまたは選択時にアニメーションが再生されます。 | |
| リポジトリリンク | https://github.com/discourse/discourse-animated-avatars | |
| インストールガイド | Discourse にプラグインをインストールする方法 |
機能
デフォルトでは、フォーカスがない場合にアニメーションを一時停止します。トピック内では、投稿にホバーされていない場合、または選択されていない場合にアニメーションが一時停止されます。
animated_avatars_always_animate: 上記の一時停止を無効にし、アバターが常にアニメーションするように強制します。
animated_avatars_min_trust_level_to_display: 信頼レベルに基づいてアバターのアニメーションを制限します。
ブラウザのアクセシビリティオプションで設定されている prefers-reduced-motion に従います。アニメーションは完全に無効化されます。
アニメーション付き gif は、アップロード時に自動的に webp に変換され、ファイルサイズ全体が削減されます。これは animated_gif_avatar_to_webp で設定できます(デフォルト: true)。
設定
このプラグインには、gifsicle への任意の依存関係があります。これは、アップロードされた gif 画像を正方形のアバターに収まるようにリサイズするために使用され、アスペクト比の調整や、静止画とアニメーション画像のサイズ差を正常化し、スムーズな切り替えを助けます。gifsicle がなくてもプラグインは機能しますが、正方形でないアバターは表示時に引き伸ばされて見える場合があります。
![]()
animated_gif_avatar_to_webpには gifsicle は不要です。アニメーション付き gif は、切り取られた正方形のアバターとして webp に変換されます。
有効にするには、app.yml にインストールスクリプトへの呼び出しを追加する必要があります。after_code フックの例は以下の通りです:
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- git clone https://github.com/discourse/discourse-animated-avatars.git
- exec:
cd: $home/plugins/discourse-animated-avatars
raise_on_fail: false
cmd:
- $home/plugins/discourse-animated-avatars/scripts/install.sh
設定項目
| 名前 | 説明 |
|---|---|
| animated avatars min trust level to display | アニメーション付きアバターを表示するための最小の信頼レベル |
| animated avatars always animate | アバターを常にアニメーションさせる |
| animated gif avatar to webp | アップロード時にアニメーション付き gif アバターを自動的に webp に変換し、ファイルサイズを削減します。(デフォルト: true) |
| animated gif avatar webp quality | gif から webp への変換品質。推奨設定は 75% から 100% の間です(デフォルト: 80%) |
技術情報
gif/webp アバターの数を確認し、既存の gif アバターを webp に変換するための追加の CLI が含まれています。
bin/rake animated_avatars:count_animated は、gif/webp にグループ化されたアニメーション付きアバターの総数を数えます。
bin/rake animated_avatars:gif_to_webp は、既存のアニメーション付き gif アバターを webp に変換します。新しいアバターは自動的に適用され、既存の gif アバターは CleanUpUploads ジョブによって削除されます。