| 요약 | 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 작업에 의해 삭제됩니다.