#svg-icons #yew #yew-component #flags #collection #variety #included

bin+lib yew_icons

轻松将各种SVG图标集成到您的Yew应用程序中

18个版本

0.8.0 2023年10月1日
0.7.2 2023年4月26日
0.7.1 2023年3月29日
0.7.0 2022年11月27日
0.4.1 2022年6月10日

图像 分类中排名 118

Download history 135/week @ 2024-04-07 99/week @ 2024-04-14 95/week @ 2024-04-21 283/week @ 2024-04-28 131/week @ 2024-05-05 150/week @ 2024-05-12 95/week @ 2024-05-19 180/week @ 2024-05-26 147/week @ 2024-06-02 176/week @ 2024-06-09 224/week @ 2024-06-16 143/week @ 2024-06-23 98/week @ 2024-06-30 45/week @ 2024-07-07 103/week @ 2024-07-14 68/week @ 2024-07-21

每月下载量 327
用于 2 crate

MIT 许可证

23MB
54K SLoC

yew_icons

Icons Gallery Latest Version

此crate使您能够轻松使用以下集合中的SVG图标(未来可能还会添加更多):

图标集合 许可证 变体
Bootstrap MIT许可证 -
Feather MIT许可证 已弃用(使用Lucide)
Font Awesome CC BY 4.0许可证 常规、实心
Heroicons MIT许可证 实心、轮廓、迷你实心
Lipis国旗图标 MIT许可证 -
Lucide ISC许可证 -
Octicons MIT许可证 -
Simple Icons CC0许可证 -
额外 逐个处理 -

Gallery

*画廊 中不包含所有图标。

使用方法

使用画廊找到您喜欢的图标,并将它们作为功能标志添加。

# If still using yew 0.19, use yew_icons 0.6.1
# If still using yew 0.20, use yew_icons 0.7.3

[dependencies]
yew_icons = {version = "0.8", features = ["LucideArrowLeftCircle", "LucideArrowRightCircle", "LucideArrowUpCircle"]}

然后,添加一个具有相应图标ID的 <Icon> 组件,可选地指定 widthheight 和/或 onclick 回调。

use yew::prelude::*;
use yew_icons::{Icon, IconId};

html!{
    <>
        <Icon icon_id={IconId::LucideArrowLeftCircle}/>
        <Icon icon_id={IconId::LucideArrowUpCircle} width={"2em".to_owned()} height={"2em".to_owned()}/>
        <Icon icon_id={IconId::LucideArrowRightCircle} onclick={Callback::from(|_: MouseEvent| {})}/>
    </>
}

example image

注意:图标将继承其父元素的CSS color

功能标志

每个图标集合必须与相应的功能标志一起包含,例如 lucidefont_awesome_solid

为了节省二进制大小,也可以通过功能标志单独包含图标,例如 LucideZoomInFontAwesomeSolidAtom

默认情况下,不包含任何收藏或图标。请注意,包含过多的图标可能会导致某些WebAssembly引擎拒绝加载的.wasm二进制文件,尤其是在调试模式下(参见https://github.com/rustwasm/wasm-pack/issues/981)。

许可证

代码的许可方式如下

由您选择。

图标由各自创作者授权(见上文)。每个图标的授权概要会输出到DOM中

<svg data-license="...original license..."></svg>

贡献

除非您明确表示,否则根据Apache-2.0许可证定义的,您提交给工作内容的任何有意贡献都将根据上述方式双重授权,不附加任何额外条款或条件。

更新图标收藏

# 1. on first checkout, init submodules:
git submodule update --init --recursive

# 2. update a submodule to latest commit in remote branch:
git submodule update --remote bootstrap

# 3. generate the icons, writing the feature flags to a file:
cargo run --features="generator" > generated_feature_flags.txt

# 4. reformat the feature flags onto separate lines (choose your own adventure, e.g. vim macros)

# 5. copy the feature flags from generated_feature_flags.txt to the Cargo.toml

运行测试

# 1. uncomment the "testing" feature flag in Cargo.toml

# 2. for each icon set to test, run:
cargo test test --features "enum-iterator testing [icon collection to test]"
# (the test name is "test", which we specify to skip the doc tests)
# icon collection options are: bootstrap feather font_awesome_regular font_awesome_solid heroicons_mini_solid heroicons_outline heroicons_solid lipis_flag_icons_1_x_1 lipis_flag_icons_4_x_3 lucide octicons simple_icons
# if testing all icon sets at once, the prokio-runtime-worker may overflow its stack

依赖关系

~10–15MB
~268K SLoC