前段时间更换博客字体时遇到了加载缓慢的问题,尝试将字体文件放在本地服务器,但发现打开博客时需要五六秒,体验不佳。最近发现了中文网字计划,通过在线切割字体文件为多个小型静态分包,并部署在云端,使用CSS特性 unicode-range和优化字符分包区间,成功减少字体加载时间,该网站为大家提供了两种方法,大家选择适合自己的即可。以下是使用方法:
字体效果
网址:中文网字计划
方案一、使用中文网字计划的现成字体(目前有27种字体)
1. 选择字体
1.1.进入中文网字计划,字体列表->选择所需字体
->复制字体cdn链接
2. 关联字体CSS
2.1.找到头文件 header.php
(typecho的头标签一般在/usr/theme/
使用的主题目录下,名为header.php
)。对于handsome主题,头标签路径为/usr/theme/handsome/component/header.php
2.2.在<head>
标签下粘贴复制的cdn链接
3. 自定义CSS
3.1. 找到后台的自定义CSS,规定字体使用范围。若全局使用某个字体,可以使用以下规则:
body {
font-family: 'FontsName';
font-weight: '400';
}
3.2. 如果想让特定区域使用特定字体,使用开发者工具查看该区域类名,并使用如下规则:
.类名 {
font-family: 'FontsName';
font-weight: '400';
}
方案二、自行部署 CDN 字体
1. 在线分包(中文网字计划也提供了字体分包插件,有需要的可以下载并且部署)
1.1. 上传字体文件并进行在线分包,完成分包后解压字体文件。
2. 部署到ImageKit OSS
2.1. 完成注册。
2.2. 选择Folder Upload上传解压好的字体包并复制 result.css
路径。
3. 使用 Nginx 反代 ImageKit 源
因为在 LightCDN 的新策略中,不能同时存在相同的来源网站,所以我们可以反代一下ImageKit
3.1. 将域名解析到 VPS 上。
3.2. 配置 Nginx 相关文件,proxy_pass填写 http://ik.imagekit.io
。
4. 使用 LightCDN
4.1. 完成注册。
4.2. 配置 CDN,将 来源
填写刚刚解析的域名,CDN加速域名填写任意域名即可。
4.3. 要使用的 CDN 链接为:LightCDN 分配的 CDN + ImageKit 中的 result.css
路径,无需加上 ik.imagekit.io
(result.css后面的值可以删除)。例如:https://814356546.cdn/jizhu/fonts/result.css
。
4.4. 后续步骤与方案一中的操作一致,只需在 header.php
中接入 自己CDN 链接,并在自定义 CSS 中设置相关属性(字体名字在result.css中查看)。
中文网字计划:https://chinese-font.netlify.app
ImageKit:https://imagekit.io
LightCdn:https://www.lightcdn.com