10个版本
0.3.1 | 2024年4月20日 |
---|---|
0.3.0 | 2024年4月4日 |
0.2.6 | 2023年11月10日 |
0.2.5 | 2023年10月4日 |
0.0.1 |
|
768 在 进程宏 中
每月190 次下载
在 escape-artist 中使用
26KB
409 行
iconify-rs
这个crate提供了一个宏,用于从Iconify嵌入SVG。有关图标列表,请参阅Iconify图标集。
📝 使用方法
let svg = iconify::svg!("mdi:home", color = "red")
iconify::svg!
会将SVG作为字符串下载并嵌入。它还会缓存请求,因此不会重复下载相同的SVG。
let svg = "<svg>...</svg>"
选项
您可以向宏传递选项以自定义SVG。
let svg = iconify::svg!("mdi:home",
width = "24",
height = "24",
color = "red",
// ... and more.
)
支持所有来自Iconify API的选项。您可以在此处找到svg!
宏的选项文档。
模板
它也可以直接在rsx中使用,或任何编译时模板引擎。
Maud
html! {
body {
.card {
(PreEscaped(iconify::svg!("mdi:home")))
p { "Hello!" }
}
}
}
Askama
<body>
<div class="card">
{{ iconify::svg!("mdi:home")|safe }}
<p>Hello!</p>
</body>
✨ 功能
- 直接从Iconify嵌入SVG
- 缓存请求(默认功能)
- 离线模式
- SVG转换(通过API)
- (即将推出)CSS获取
🔌 离线模式
如果您不想在CI(或其他原因)中让iconify-rs在编译时进行请求,您可以使用离线模式与准备好的图标。
- 启用
offline
功能。 - 通过设置
ICONIFY_PREPARE=true
并运行cargo check
来准备图标。这将为您在CARGO_MANIFEST_DIR
中生成一个名为icons
的目录,其中包含您调用的所有图标。 - 现在您可以出发了!只需运行
cargo build
,它将使用您准备的图标。
如果您想设置自定义目录,也可以设置ICONIFY_OFFLINE_DIR
。
⚙️ 配置
ICONIFY_URL
- 设置要使用的API URL。如果未设置,默认为 "https://api.iconify.design"ICONIFY_PREPARE
- 如果设置,图标将写入离线图标目录(仅限离线模式)ICONIFY_OFFLINE_DIR
- 设置离线图标目录。如果未设置,默认为项目目录下的"/icons"
依赖项
~2–14MB
~166K SLoC