Install
openclaw skills install @thcjp/google-fonts-tool-free提供个人开发者Google Fonts性能加载优化与字体搭配推荐,支持display=swap、预连接、变量字体和按用途选字。
openclaw skills install @thcjp/google-fonts-tool-free---slug: google-fonts-tool-free name: google-fonts-tool-free version: 1.0.0 displayName: 谷歌字体工具 summary: "面向个人开发者的 Go" license: Proprietary edition: free description: 面向个人开发者的 Google Fonts 性能加载与字体搭配工具。核心能力:,可处理提升工作效率
display=swap 与 preconnect 最佳加载
变量字体与按需字重加载
经典衬线/无衬线/科技风搭配推荐
按用途选字体与常见错误规避
适用场景:
个人站点/落地页字体加载优化
单项目字体搭配选择
避免字体加载常见性能坑
差异化: 免费版聚焦单项目加载优化与经典搭配,提供按用途选字体清单,零成本上手' tags:
本工具帮助个人开发者正确加载 Google Fonts,规避不可见文字、冗余字重、缺少 preconnect 等常见性能坑,并提供经典字体搭配与按用途选字体清单。适合单项目快速优化.
| 能力 | 说明 | 免费版范围 |
|---|---|---|
| 加载优化 | display=swap + 双 preconnect | 标准加载 |
| 变量字体 | 单文件多字重 | 推荐 4 款 |
| 子集控制 | latin/latin-ext 选择 | 基础子集 |
| 经典搭配 | 衬线/无衬线/科技风 | 12 组 |
| 按用途选字 | 阅读/UI/标题/等宽 | 4 类 |
技术实现要点:核心能力基于input_params参数与output_format配置实现,支持创建/查询/修改/删除等操作模式,通过config_options进行运行时配置. |
用input_params参数进行配置.
处理: 解析核心功能执行的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回核心功能执行的响应数据,包含状态码、结果和日志.
input_params参数,支持创建/查询/导出操作用config_options参数进行配置.
处理: 解析参数配置与调用的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回参数配置与调用的响应数据,包含状态码、结果和日志.
config_options参数,支持修改/重置/导入操作用output_format参数进行配置.
处理: 解析结果处理与输出的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回结果处理与输出的响应数据,包含状态码、结果和日志.
output_format参数,支持导出/保存/转换操作
能力覆盖范围:本skill的核心能力覆盖以下场景关键词:面向个人开发者的、Google、Fonts、子集与经典搭配工、性能加载与字体搭、配工具、最佳加载、变量字体与按需字、重加载、经典衬线、科技风搭配推荐、按用途选字体与常、见错误规避等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持.<!-- 双 preconnect + display=swap -->
<link rel="preconnect" href="https://fonts.googleapis.com">
gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap" rel="stylesheet">
/* 始终带回退栈 */
font-family: 'Inter', system-ui, sans-serif;
| 用途 | 推荐字体 |
|---|---|
| 长文阅读 | Merriweather / Lora / Source Serif Pro |
| UI 界面 | Inter / Roboto / Open Sans |
| 冲击标题 | Playfair Display / Oswald / Bebas Neue(勿用于正文) |
| 等宽 | JetBrains Mono / Fira Code / Source Code Pro |
衬线 + 无衬线(经典对比):
Playfair Display(标题)+ Source Sans Pro(正文)
Lora(标题)+ Roboto(正文)
# ...
纯无衬线(现代干净):
Inter(标题正文同族,字重区分层级)
Montserrat(标题)+ Hind(正文)
以下场景谷歌字体工具不适合处理:
需要生成营销文案、写作内容、标题优化、内容创作时使用。不适用于非本工具能力范围的需求.
display=swap 与双 preconnect 加载.# 本地预览
python -m http.server 8000
响应解析: 完成完成后,查看输出响应确认任务状态。成功时输出包含解析摘要和响应数据;失败时根据错误信息排查问题,查阅错误解析章节获取恢复步骤.
变量字体单文件加载:
<!-- 变量字体:单文件覆盖全部字重 -->
googleapis.com/css2?family=Inter:wght@100..900&display=swap" rel="stylesheet">
/* 变量字体可用任意字重值 */
font-weight: 450;
Q1:加载 6 个字重保险吗?
A:不保险。只加载用到的,通常 400/600/700 三个足够.
Q2:为什么字重没生效?
A:CSS 写了 font-weight:600 但只加载了 400 和 700。加载的字重必须包含 600.
Q3:免费版支持自托管吗?
A:不支持。GDPR 自托管与子集化工具为专业版能力.
Q4:CJK 字体怎么办?
A:Noto Sans JP 等 CJK 字体很大,Google 会切片但仍偏重,按需评估.
Q5:display=swap 会闪烁吗?
A:会有短暂 FOUT(无样式文本闪现),但优于不可见文字.
不同场景字重需求不同,按需加载节省体积:
落地页 hero: 700(粗体标题)+ 400(正文)
长文阅读: 400 + 600(小标题)
数据看板: 400 + 500(强调数值)
极简品牌站: 仅 400 + 变量字体调字重
字体加载失败时回退栈决定体验,按场景设计:
/* 衬线展示体回退 */
font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
// ...
/* 无衬线 UI 回退 */
font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
// ...
/* 等宽回退 */
font-family: 'JetBrains Mono', 'Fira Code', 'Courier New', monospace;
自检清单:
[ ] display=swap 已加
[ ] 双 preconnect 已加(googleapis + gstatic crossorigin)
[ ] 仅加载用到的字重(≤ 3 个)
[ ] 变量字体用范围语法 wght@100..900
[ ] CSS 回退栈完整
[ ] 展示体未用于正文
| 现象 | 原因 | 修复 |
|---|---|---|
| 文字不可见 | 缺 display=swap | 加 display=swap |
| 字重没生效 | 未加载该字重 | 链接加上对应字重 |
| 加载慢 | 字重过多 | 精简到 2-3 个 |
| FOUT 闪烁 | swap 副作用 | 可接受,优于不可见 |
| 中文重 | CJK 字体大 | 按语言子集 |
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| Google Fonts CDN | 字体资源 | 必需 | fonts.googleapis.com |
| LLM API | API | 必需 | 由 Agent 内置 LLM 提供 |
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
| 配置错误 | 参数缺失或格式错误 | 检查依赖说明中的配置要求 |
| 运行时错误 | 运行环境不满足 | 确认运行环境符合依赖说明 |
| 网络错误 | 连接超时或不可达 | 执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案 |
{
"success": true,
"data": {
"result": "谷歌字体工具处理结果",
"execution_time": "0.5s",
"metadata": {
"version": "1.0",
"processor": "google fonts"
}
},
"execution_log": ["解析输入参数", "执行核心处理", "格式化输出结果"],
"error": null
}