Icons 소개: Ruby 앱에 원하는 아이콘 라이브러리를 추가하세요
Source: Dev.to
Introduction
거의 2년 전, Rails Icons를 발표했습니다. 그 글을 쓸 때 “아이콘을 쓰지 않는 앱은 없다”는 생각으로 시작했었는데, 오늘도 여전히 사실입니다.
저는 여전히 모든 SaaS 앱에 Rails를 사용하지만, 만약 여러분이 그렇지 않다면 어떨까요? Hanami, Rodauth, 혹은 Padrino 같은 다른 멋진 Ruby 프레임워크를 사용한다면요? 혹은 Perron(Rails 기반 SSG) 대신 Jekyll, Middleman, Bridgetown 등을 사용한다면요?
작은 수십 개의 아이콘 라이브러리 중 어느 것이든 SVG 아이콘을 우아하게 추가하는 방법을 여러분의 앱이나 사이트에서 사용할 수 없습니다. 안타깝죠! 😞
그래서 약 21만 다운로드 이후, Rails Icons의 핵심(Ruby) 부분을 별도의 gem인 Icons로 분리했습니다. ⭐
이제 Rails Icons의 핵심 기능은 Icons gem에 의존하고, Rails‑specific 부분(헬퍼와 제너레이터)만 Rails Icons gem에 남아 있습니다. Rails Icons 사용 방식은 그대로 유지됩니다.
이 새로운 구조를 통해 다음 중 하나를 선택할 수 있습니다:
- Icons를 기반으로 레이어(예: Rails Icons)를 만들어 gem으로 패키징하거나
- Icons를 직접 어떤 Ruby 앱에서도 사용하기
Usage
# Sync any of the supported libraries from their respective (GitHub) repository
Icons::Sync.new("lucide").now# Render an icon
icon = Icons::Icon.new(
name: "check",
library: "lucide",
variant: "outline",
arguments: { class: "text-gray-500" }
)
svg = icon.svg프레임워크나 SSG(아직도 Perron을 사용하지 않으신다면 😅)를 위해 Icons gem을 둘러싼 레이어를 만들고 싶다면 언제든지 연락 주세요. 기꺼이 도와드리겠습니다.
Icons gem의 소스는 GitHub에서 확인할 수 있습니다. ⭐