Discourse GIF

:discourse2: 요약 Discourse Gifs는 작성기에 버튼을 추가하여 GIF를 검색하고 가장 적합한 GIF를 게시글에 쉽게 추가할 수 있게 해줍니다.
:hammer_and_wrench: 저장소 링크 https://github.com/discourse/discourse-gifs
:open_book: Discourse 테마를 처음 사용하시나요? Discourse 테마 사용 입문 가이드

이 테마 컴포넌트 설치

기능

검색 후 관련 GIF로 구성된 무한 스크롤 벽을 볼 수 있습니다:

recording

하나를 클릭하면 현재 작성기에 삽입되며, 다음과 같은 모습입니다:

shut up and take my money GIF by Product Hunt

이것은 ReplyGif: Adding reaction GIF easily의 오래된 포크를 기반으로 하고 있으므로 @cpradio에게 감사드립니다.

주요 차이점은 다음과 같습니다:

  • GIF 대신 애니메이션 webp를 사용할 수 있어 대역폭 효율이 훨씬 높습니다.

  • 테마 컴포넌트이므로 설치와 업데이트가 훨씬 쉽습니다.

  • Giphy API 또는 Tenor API 중 하나를 선택할 수 있습니다.

  • 결과물에 대한 무한 스크롤 지원

  • 결과 GIF는 Discourse의 네이티브 bitrot 보호 기능을 사용하여 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 Rate Limiting을 방지합니다.
max results limit Tenor & GIPHY: "limit infinite search results"가 활성화되면 이 최대 GIF 결과 수를 얻을 때까지 검색합니다. 각 API 호출은 24개의 결과를 가져오며, 예: 240 Max Limit: 240 / 24 = 10 API Calls .
tenor api key Tenor: V2 API Key. 키를 얻는 방법은 Discourse Meta - Discourse Gifs 에서 찾을 수 있습니다.
tenor client key Tenor: (선택 사항) 통합을 나타내는 클라이언트 지정 문자열
tenor file detail Tenor: 사용할 이미지 형식
tenor content filter Tenor: Tenor 결과의 콘텐츠 안전 수준. 자세한 정보는 Tenor API Guides 에서 확인하세요.
tenor country Tenor: 요청의 두 글자 국가 코드. 국가 코드는 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 Rate Limit에 도달했습니다. 잠시 후 다시 시도해 주세요. 이 문제가 지속되면 사이트 관리자에게 문의하세요.
gif.error_search_too_long 검색어를 50자 이하로 줄여서 다시 시도해 주세요.

:discourse2: 우리가 호스팅하나요? 테마 컴포넌트는 Standard, Business, Enterprise 플랜에서 사용할 수 있습니다.

84개의 좋아요

Hey @Heather_Dudley,

GIF 형식을 webp 대신 사용할 수 있도록 강제하는 새 사이트 설정을 추가했어요.

다만, 화질이 떨어지는 데도 디스크 공간과 네트워크 대역폭을 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 의 main 브랜치를 사용하여 다시 설치해 주세요.

3개의 좋아요

아, 그러면 될 것 같네요. 감사합니다. 문제는 없을 것 같지만, 만약 문제가 생기면 알려드릴게요!

4개의 좋아요

구글의 Tenor 플랫폼을 사용할 수 없는 건가요? Facebook이 Giphy를 인수한 후로는 더 이상 사용하지 않고 Tenor으로 전환했습니다.

3개의 좋아요

이 컴포넌트는 첫 번째 버전에서 Tenor을 사용했지만, 다른 형식보다 WEBP GIF가 사용성 면에서 훨씬 우수하고 Tenor은 WEBP GIF를 지원하지 않아 Giphy로 전환했습니다.

4개의 좋아요

웹P 형식을 만든 쪽이 누구인지, 그리고 현재 테너를 소유한 쪽이 누구인지를 생각하면 아이러니하네요.

8개의 좋아요

아니면 바로 애니메이션 avif를 도입하는 건가요? 이미 Chrome에서 사용 가능하며, 곧 모든 최신 브라우저에서도 지원될 예정입니다.

위 게시물에 추가했는데, 파일 크기가 정말 놀랍습니다:

5개의 좋아요

해당 포맷의 개발은 어떻게 진행되고 있나요? 다른 회사들이 이를 채택하는 데(디스커스를 포함해 :wink:) 얼마나 걸릴 것이라고 생각하시나요?

2개의 좋아요

Discourse는 브라우저 지원이 이루어지는 즉시 이를 쉽게 지원할 수 있습니다: AVIF image format | Can I use... Support tables for HTML5, CSS3, etc

4개의 좋아요

@eviltrout 덕분에 이제 모바일에서 GIF 버튼을 더 나은 위치에 표시하므로, 이런 문제가 다시 발생하지 않습니다!

10개의 좋아요

@Falco 님, 감사합니다. 메시지를 미리 볼 때 GIF 버튼을 숨길 수 있을까요?


감사합니다

1개의 좋아요

테마 컴포넌트에 대해 잘 알지 못하는데, 특정 카테고리 하나에만 활성화할 수 있을까요?

우리는 랜덤/오프토픽/재미 카테고리가 있는데, 거기에 이 기능이 추가되면 정말 좋을 것 같습니다. 하지만 모든 카테고리에 추가하면 대혼란이 일어날 테니까요 :rofl:

4개의 좋아요

CSS를 사용해볼 수 있지만, 포럼 내 이동 시 컴포저가 계속 열려 있는 상태이기 때문에 100% 작동할지는 확신할 수 없습니다.

대략 다음과 같은 형태가 될 것입니다.

:not(.category-your_category_id) .d-icon-discourse-gifs-gif-icon {
    display: none
}
4개의 좋아요

좋은 제안입니다. 마지막 버전에서 추가했습니다. 업데이트해 주세요!

8개의 좋아요

정말 멋진데요! 잘하셨습니다. 방금 제 포럼에 이 내용이 추가되었습니다!

4개의 좋아요