InfoGrab DocsInfoGrab Docs

이모지

요약

GitLab은 tanuki_emoji gem을 통해 네이티브 이모지를 지원합니다. 이모지 지원은 백엔드와 프론트엔드 양쪽에서 구현되므로, 세 개의 마일스톤에 걸쳐 지원을 업데이트해야 합니다. 필요에 따라 tanuki_emoji gem을 업데이트합니다.

GitLab은 tanuki_emoji gem을 통해 네이티브 이모지를 지원합니다.

이모지 업데이트 방법#

이모지 지원은 백엔드와 프론트엔드 양쪽에서 구현되므로, 세 개의 마일스톤에 걸쳐 지원을 업데이트해야 합니다.

첫 번째 마일스톤 (백엔드)#

  • 필요에 따라 tanuki_emoji gem을 업데이트합니다.

  • 최신 tanuki_emoji gem을 사용하도록 Gemfile을 업데이트합니다.

  • 업그레이드 대상 Unicode 버전을 지원하는 최신 unicode-emoji를 사용하도록 Gemfile을 업데이트합니다.

  • lib/gitlab/emoji.rbEMOJI_VERSION을 업데이트합니다.

  • bundle exec rake tanuki_emoji:import - 버전이 지정된 public/-/emojis 디렉터리에 모든 폴백 이미지를 임포트합니다. 새로운 개별 이미지가 해당 디렉터리에 복사되었는지 확인합니다.

  • 테스트 시, 새 이모지의 단축코드를 사용하여 표시가 되는지 확인합니다.

  • 백엔드에 대한 예시 머지 리퀘스트 첫 번째두 번째를 참고하세요.

두 번째 마일스톤 (프론트엔드)#

  • app/assets/javascripts/emoji/index.jsEMOJI_VERSION을 업데이트합니다.

  • tanuki_emoji gem의 Rake tasks를 사용하여 aliases, digests, sprites를 업데이트합니다. 다음 순서로 실행합니다:

bundle exec rake tanuki_emoji:aliases - fixtures/emojis/aliases.json을 업데이트합니다.

bundle exec rake tanuki_emoji:digests - public/-/emojis/VERSION/emojis.jsonfixtures/emojis/digests.json을 업데이트합니다.

bundle exec rake tanuki_emoji:sprite - 새 스프라이트 시트를 생성합니다.

새 이모지가 추가되면 스프라이트 시트의 크기가 변경될 수 있습니다. 이런 변경에 대응하려면 먼저 위의 Rake 태스크로 app/assets/images/emoji.png 스프라이트 시트를 생성한 다음, 새 스프라이트 시트의 크기를 확인하고 lib/tasks/tanuki_emoji.rakeSPRITESHEET_WIDTHSPRITESHEET_HEIGHT 상수를 그에 맞게 업데이트합니다. 그런 다음 태스크를 다시 실행합니다.

이미지 크기를 최적화하려면 ImageOptim 또는 유사한 프로그램을 사용합니다.

  • 1x 및 2x용 새 스프라이트 시트가 생성되었는지 확인합니다.

app/assets/images/emoji.png

  • app/assets/images/emoji@2x.png

  • 긍정적 또는 부정적 의도를 강조하고 싶은 새 이모지가 있다면 fixtures/emojis/intents.json을 업데이트합니다.

긍정적 의도는 0.5로 설정합니다.

  • 중립 의도는 1로 설정할 수 있습니다. 이는 모든 이모지에 자동으로 적용되므로 명시적으로 설정할 필요가 없습니다.

  • 부정적 의도는 1.5로 설정합니다.

  • 특정 이모지를 지원하지 않는 플랫폼에서 이미지로 폴백해야 하는 경우, 새 이모지 Unicode 지원 체크 및 규칙을 추가해야 할 수 있습니다. app/assets/javascripts/emoji/support/is_emoji_unicode_supported.jsapp/assets/javascripts/emoji/support/unicode_support_map.js를 참고하세요.

  • 지원 대상 Unicode 버전에 해당하는 emoji-regex 버전을 사용하고 있는지 확인합니다. 이는 package.json에서 업데이트해야 합니다. app/assets/javascripts/emoji/index.js에서 이모지를 필터링하는 데 사용됩니다.

  • 카테고리 이름에 변경이 있었나요? 변경이 있다면 app/assets/javascripts/emoji/constants.js를 업데이트해야 합니다.

  • 테스트 시

GitLab Flavored Markdown(GLFM) 자동 완성에서 새 이모지와 해당 aliases를 볼 수 있는지 확인합니다.

  • 이모지 반응 메뉴에서 새 이모지와 해당 aliases를 볼 수 있는지 확인합니다.

세 번째 마일스톤 (정리)#

public/-/emojis 디렉터리에서 오래된 이모지 버전을 제거합니다. 이 작업이 반드시 필요한 것은 아닙니다 — 제거하지 않아도 모든 것이 계속 작동합니다. 하지만 정리해 두는 것이 좋습니다.

이모지

GitLab v19.1
원문 보기
요약

GitLab은 tanuki_emoji gem을 통해 네이티브 이모지를 지원합니다. 이모지 지원은 백엔드와 프론트엔드 양쪽에서 구현되므로, 세 개의 마일스톤에 걸쳐 지원을 업데이트해야 합니다. 필요에 따라 tanuki_emoji gem을 업데이트합니다.

GitLab은 tanuki_emoji gem을 통해 네이티브 이모지를 지원합니다.

이모지 업데이트 방법#

이모지 지원은 백엔드와 프론트엔드 양쪽에서 구현되므로, 세 개의 마일스톤에 걸쳐 지원을 업데이트해야 합니다.

첫 번째 마일스톤 (백엔드)#

  • 필요에 따라 tanuki_emoji gem을 업데이트합니다.

  • 최신 tanuki_emoji gem을 사용하도록 Gemfile을 업데이트합니다.

  • 업그레이드 대상 Unicode 버전을 지원하는 최신 unicode-emoji를 사용하도록 Gemfile을 업데이트합니다.

  • lib/gitlab/emoji.rbEMOJI_VERSION을 업데이트합니다.

  • bundle exec rake tanuki_emoji:import - 버전이 지정된 public/-/emojis 디렉터리에 모든 폴백 이미지를 임포트합니다. 새로운 개별 이미지가 해당 디렉터리에 복사되었는지 확인합니다.

  • 테스트 시, 새 이모지의 단축코드를 사용하여 표시가 되는지 확인합니다.

  • 백엔드에 대한 예시 머지 리퀘스트 첫 번째두 번째를 참고하세요.

두 번째 마일스톤 (프론트엔드)#

  • app/assets/javascripts/emoji/index.jsEMOJI_VERSION을 업데이트합니다.

  • tanuki_emoji gem의 Rake tasks를 사용하여 aliases, digests, sprites를 업데이트합니다. 다음 순서로 실행합니다:

bundle exec rake tanuki_emoji:aliases - fixtures/emojis/aliases.json을 업데이트합니다.

bundle exec rake tanuki_emoji:digests - public/-/emojis/VERSION/emojis.jsonfixtures/emojis/digests.json을 업데이트합니다.

bundle exec rake tanuki_emoji:sprite - 새 스프라이트 시트를 생성합니다.

새 이모지가 추가되면 스프라이트 시트의 크기가 변경될 수 있습니다. 이런 변경에 대응하려면 먼저 위의 Rake 태스크로 app/assets/images/emoji.png 스프라이트 시트를 생성한 다음, 새 스프라이트 시트의 크기를 확인하고 lib/tasks/tanuki_emoji.rakeSPRITESHEET_WIDTHSPRITESHEET_HEIGHT 상수를 그에 맞게 업데이트합니다. 그런 다음 태스크를 다시 실행합니다.

이미지 크기를 최적화하려면 ImageOptim 또는 유사한 프로그램을 사용합니다.

  • 1x 및 2x용 새 스프라이트 시트가 생성되었는지 확인합니다.

app/assets/images/emoji.png

  • app/assets/images/emoji@2x.png

  • 긍정적 또는 부정적 의도를 강조하고 싶은 새 이모지가 있다면 fixtures/emojis/intents.json을 업데이트합니다.

긍정적 의도는 0.5로 설정합니다.

  • 중립 의도는 1로 설정할 수 있습니다. 이는 모든 이모지에 자동으로 적용되므로 명시적으로 설정할 필요가 없습니다.

  • 부정적 의도는 1.5로 설정합니다.

  • 특정 이모지를 지원하지 않는 플랫폼에서 이미지로 폴백해야 하는 경우, 새 이모지 Unicode 지원 체크 및 규칙을 추가해야 할 수 있습니다. app/assets/javascripts/emoji/support/is_emoji_unicode_supported.jsapp/assets/javascripts/emoji/support/unicode_support_map.js를 참고하세요.

  • 지원 대상 Unicode 버전에 해당하는 emoji-regex 버전을 사용하고 있는지 확인합니다. 이는 package.json에서 업데이트해야 합니다. app/assets/javascripts/emoji/index.js에서 이모지를 필터링하는 데 사용됩니다.

  • 카테고리 이름에 변경이 있었나요? 변경이 있다면 app/assets/javascripts/emoji/constants.js를 업데이트해야 합니다.

  • 테스트 시

GitLab Flavored Markdown(GLFM) 자동 완성에서 새 이모지와 해당 aliases를 볼 수 있는지 확인합니다.

  • 이모지 반응 메뉴에서 새 이모지와 해당 aliases를 볼 수 있는지 확인합니다.

세 번째 마일스톤 (정리)#

public/-/emojis 디렉터리에서 오래된 이모지 버전을 제거합니다. 이 작업이 반드시 필요한 것은 아닙니다 — 제거하지 않아도 모든 것이 계속 작동합니다. 하지만 정리해 두는 것이 좋습니다.