介绍 Icons:向您的 Ruby 应用添加任意图标库

发布: (2026年2月13日 GMT+8 01:15)
2 分钟阅读
原文: Dev.to

Source: Dev.to

引言

将近两年前,我宣布了 Rails Icons。我在那篇文章的开头写道,我没有一个不使用图标的应用。至今这句话依然成立。

我仍然在所有 SaaS 应用中使用 Rails,但如果你不是呢?如果你使用其他许多出色的 Ruby 框架,比如 HanamiRodauth,或者 Padrino?或者说,你不是使用 Perron(基于 Rails 的静态站点生成器),而是使用 JekyllMiddlemanBridgetown

你就无法在你的应用或站点中以优雅的方式添加 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 的源码。⭐

0 浏览
Back to Blog

相关文章

阅读更多 »

TIL:模板严格本地变量 (TSL)

Template Strict Locals TSL 前几天,我在回顾 Chris Oliver 的《你可能不知道的强大 Rails 功能》演示。在众多有用的技巧中,d...