Анимированный аватар

: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-изображений, чтобы они соответствовали квадратному аватару, что помогает корректировать соотношение сторон, а также выравнивать различия в размерах между статичными и анимированными изображениями для более плавной замены. Плагин будет работать и без него, но неквадратные аватары могут отображаться искаженными.

:information_source: gifsicle не требуется для animated_gif_avatar_to_webp. Анимированные 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%)

Технические детали

Включены дополнительные команды CLI для определения количества аватаров в формате gif/webp и конвертации существующих gif-аватаров в webp.

bin/rake animated_avatars:count_animated подсчитывает общее количество анимированных аватаров, сгруппированных по формату gif/webp

bin/rake animated_avatars:gif_to_webp конвертирует существующие анимированные gif-аватары в webp. Новые аватары применяются автоматически, а существующие gif-аватары удаляются задачей CleanUpUploads.

22 лайка