介绍 Icons:向您的 Ruby 应用添加任意图标库
Source: Dev.to
引言
将近两年前,我宣布了 Rails Icons。我在那篇文章的开头写道,我没有一个不使用图标的应用。至今这句话依然成立。
我仍然在所有 SaaS 应用中使用 Rails,但如果你不是呢?如果你使用其他许多出色的 Ruby 框架,比如 Hanami、Rodauth,或者 Padrino?或者说,你不是使用 Perron(基于 Rails 的静态站点生成器),而是使用 Jekyll、Middleman 或 Bridgetown?
你就无法在你的应用或站点中以优雅的方式添加 SVG 图标——无论是哪一个小型的图标库。真可惜!😞
于是,在大约 21 万次下载后,我把 Rails Icons 的核心(Ruby)部分抽离出来,做成了一个独立的 gem:Icons。⭐
现在,Rails Icons 的核心功能依赖 Icons gem,只有 Rails‑specific 的部分(helper 和 generators)仍然保留在 Rails Icons gem 中,而 Rails Icons 的使用方式保持不变。
这种新结构让你可以:
- 为 Icons 构建自己的层(比如 Rails Icons),并将其打包成 gem,或
- 在任何 Ruby 应用中直接使用 Icons。
用法
# 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如果你想为某个框架或静态站点生成器(如果你仍然不使用 Perron 😅)围绕 Icons gem 构建一层,欢迎联系我——我很乐意提供帮助。
你可以在 GitHub 上找到 Icons gem 的源码。⭐