アニメアバター

:information_source: 概要 Discourse Animated Avatars は、ユーザーがアニメーション付きの gif/webp アバターをアップロードできるようにするプラグインです。投稿、ユーザーカード、プロフィールページで、ホバーまたは選択時にアニメーションが再生されます。
:hammer_and_wrench: リポジトリリンク https://github.com/discourse/discourse-animated-avatars
:open_book: インストールガイド 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 がなくてもプラグインは機能しますが、正方形でないアバターは表示時に引き伸ばされて見える場合があります。

:information_source: 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 ジョブによって削除されます。

「いいね!」 22