4 个版本
0.2.0-alpha2 | 2024 年 6 月 28 日 |
---|---|
0.2.0-alpha1 | 2024 年 5 月 19 日 |
0.1.1 | 2024 年 4 月 8 日 |
0.1.0 | 2024 年 4 月 8 日 |
#598 in 命令行工具
每月 33 次下载
580KB
8K SLoC
mkwebfont
mkwebfont 是一个简单地将 .ttf/.otf 文件转换为 Web 字体的工具,用于自托管,没有预包装 Web 字体或托管 Web 字体的复杂性和缺乏灵活性。它设计成一个简单的单命令解决方案,不需要复杂的脚本或对 .woff2 或字体的特定理解。
类似于 Google Fonts,它将字体分割成子集,只加载所需的部分,通常基于使用的语言。
用法
安装
要安装它,只需运行以下命令
cargo +nightly install mkwebfont
或者,从 发行页面 下载 AppImage。
基本用法
运行以下命令以创建基本的 Web 字体
# Assumes that you serve `https://example.com/` from a directory of `/srv/http/webroot`.
# Adjust these paths for your use case
mkdir -p /srv/http/webroot/static/webfonts
mkwebfont \
--store /srv/http/webroot/static/webfonts --store-uri "https://example.com/static/webfonts/" \
-o /srv/http/webroot/static/fonts.css fonts/*
之后,您只需在 https://example.com/static/fonts.css
中包含样式表,然后您就可以在网站上使用您在命令行中包含的任何字体(例如,示例中的 fonts
)。
静态网站的用法
mkwebfont 对 完全静态 网站(仅使用 HTML 和 CSS,没有动态功能)有特殊支持。对于这些网站,它可以自动创建只包含网站实际使用的符号的 Web 字体,并自动从互联网下载 CSS 中请求的任何字体(可在 Google Fonts 上找到)。
运行以下命令以创建静态网站的 Web 字体
# Assumes that you serve `https://example.com/` from a directory of `/srv/http/webroot`.
# Adjust these paths for your use case
mkdir -p /srv/http/webroot/static/webfonts
mkwebfont --store /srv/http/webroot/static/webfonts --webroot /srv/http/webroot/ --subset --write-to-webroot
不建议使用许多高级 CSS 功能,如果使用这些功能,则会收到警告。作为一个基本的规则,不要为字体相关的 CSS 属性使用 var(--xx)
、或特殊值如 inherit
或 revert
。如果可能,请考虑使用 CSS 生成器如 SCSS 来帮助避免这种情况。
警告: 许多这些警告在 alpha 版本中尚未实现。此外,一些较少使用(但仍然常见)的功能,如对 style=
属性的支持,既未实现也没有警告。
警告:此功能修改webroot,而不是简单地将其作为参考。通常,此功能是为了在构建过程中调用而设计的,而不是手动构建webroot时调用。对于那种用途,基本使用说明更为合适。
许可证
本项目采用Apache许可证第2版。
贡献
除非你明确表示,否则,你根据Apache-2.0许可证定义,有意提交给mkwebfont的任何贡献,将按上述方式许可,不附加任何额外条款或条件。
依赖项
~36-54MB
~1M SLoC