字体图标
只要你体验过使用 fontcustom 的快感之后,你这辈子都不想在用在线服务的方式生成字体图标了😤
之前聊了一下字体相关的内容,算是这篇的前置知识。
字体图标的本质其实是字体,只要搞懂了字体的渲染原理,以及如何使用 web 字体,那么字体图标就引刃而解了。关于字体相关内容,参考字体那点事儿即可
其实核心内容已经在『字体那点事儿』中已经聊完了,这篇就来聊聊应用
在线服务
我在项目中常用的有两个
这两个是在线服务,按照官网的教程,点吧点吧应该就可以了
命令行模式
作为一个命令行控,追求的是能用命令行的坚决不用其他方式😤,在完成配置之后,只需要一条命令,就能够完美解决繁琐的操作
当然,这么做的最大成本就是安装相关的命令,以及一些需要注意的配置
Font Custom
安装
讲道理,这个的安装还是超级方便的,按照 gayhub/fontcustomer给出的详细介绍,只需要执行下列代码即可完成安装,亲测有效,无毒无害,放心食用
1 | # On Mac |
关于 win 下如何使用,请参考文档(没有试过,不敢乱贴)
使用
基本命令只用四个:
- fontcustom compile my/vectors:将my/vectors中的
.svg
文件,编译生成字体图标到fontcustom/中 - fontcustom watch my/vectors:监控my/vectors目录,如果有改变,则自动进行编译
- fontcustom compile:使用./fontcustom.yml OR config/fontcustom.yml中的配置,进行编译(强烈推荐)
- fontcustom config:生成空的配置文件
操作步骤
- 在项目目录中执行
fontcustom config
生成空白的配置文件 fontcustom.yml 修改配置,核心配置以及说明见下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28# 设置字体名称,font-family 中指定需要
font_name: icons
# 字体图标 CSS 对应的选择器名称,{{glyph}}是图标名称
# 例如:添加的图标名称为 foo.svg,
# 则最后生成的 CSS 选择器名称为 `.i-foo`
# 通过 <i class="i-foo"></i>即可使用图标
css_selector: .i-{{glyph}}
# 设置输入/输出信息
# input:放置 svg 图标的目录
input:
vectors: assets/svg
# output:生成的文件信息
## fonts:生成的字体存放目录
## css:css 格式文件存放位置,最终引入该文件即可
## preview:预览文件存放位置
output:
fonts: app/assets/fonts
css: app/assets/stylesheets
preview: app/views/styleguide
# templates:生成的具体文件有哪些,这里会生成 .css, .scss 以及预览文件
templates:
- css
- scss
- preview执行命令:
fontcustom complie
完成编译,生成需要的字体图标- 在项目中引入生成的样式文件(
app/assets/stylesheets/icon.css
)即可
这是一个一劳永逸的活儿,上诉内容你只需要配置一次,需要添加新的图标的时候,只需要将 icon-xxx.svg 拷贝到目录my/vectors
中,然后再次执行命令fontcustom complie
就可以啦
只要你用过这个之后,你这辈子都不想用在线方式生成字体图标啦😤
这里有一个 Demo 可供参考
Demo 目录结构预览
1 | . |