关于 Butterfly 主题中 Icon 的使用
一、写在前面
我一度很困惑,我的网站的上的各种 icon 是怎么来的。例如导航栏,目前是这样配置的:
1 | menu: |
其中类似 fas fa-home 应该就是图片的配置。但是这是啥啊,为啥这么写?直到我看了 Butterfly 主题的 文档 才开始理解。
二、fontawesome
文档是这么描述的:
那么在 fas fa-home 中
这个书写规则是 Butterfly 定义的,取决于 Butterfly 内部对 fontawesome 的引用逻辑。
而图标名称前面带 fa- 是 fontawesome 要求的。
也就是说,我们需要在 fontawesome 中 搜索 对应的图标,然后获取图标的名称,加上 fa- 前缀即可。
这里替换菜单栏的 关于 的图标举例,原先是
1 | 关于: /about/ || fas fa-heart |
找到要使用的图标,得到图标名为 fa-user
替换:
1 | 关于: /about/ || fas fa-user |
重新生成并部署
1 | hexo cl && hexo s -g |
可以看到生效了:
但是,是我想当然了。其实并不是所有的图标都是 fas fa-xxx 的格式,例如对于 bilibili 的图标来说,使用图标时应该用这个 fa-brands fa-bilibili。具体需要点击该图标进行查看:
Butterfly 主题使用 Font Awesome 版本是 6.5.1,而 Font Awesome 最新版本是 6.5.2。所以应该是 Butterfly文档 没有及时更新?而 6.5.1 版本的图标个数应该也不止 1588 个。
三、iconfont
文档中还提到:
下面我就跟着 Butterfly 主题的 文档 来使用一下 iconfont。
1、登录 iconfont
登录 iconfont
2、添加图标入库
找到想要使用的图标,添加入库。把鼠标移到图标上,会显示三个图标,依次是 入库、收藏 和 下载。
3、图标添加到项目
点击购物车,将图标添加到项目中
如果没有项目,则新建一个
4、生成css链接
添加项目之后,会跳转到项目的详情界面。点击 Font class,再点击 查看在线链接,最后点击 暂无代码,点击生成。
网站会生成 css 链接,我们复制链接即可。
5、添加链接到主题配置文件
打开主题配置文件 _config.butterfly.yml,找到 inject 配置,按要求将连接填入:
6、使用图标
在我们需要的地方填入 icon,图片格式为:iconfont icon-名字
重新部署后,可以看到图标已经生效了
不过似乎大小有点问题,比 fontawesome 的图标略小一些。