本文详细介绍了 GitHub Readme Stats 中的 Gist 卡组件,该组件用于生成显示 GitHub Gist 信息的 SVG 卡片。Gist 卡片显示特定 GitHub Gist 的信息,包括其名称、描述、语言、星标数和分支数。有关其他卡片类型的信息,请参阅 卡片生成系统。
Gist 卡片系统遵循 GitHub Readme Stats 项目中其他卡片的模式,包括 API 端点、数据获取器和渲染器。
来源:api/gist.js11-89 src/cards/gist-card.js44-149
Gist 卡可通过 /api/gist 端点访问。该端点负责参数解析、错误处理、缓存以及数据获取器和渲染器之间的协调。
id:要显示的 GitHub Gist IDGist 卡通过查询参数支持多种自定义选项。
该端点使用 fetchGist 函数从 GitHub API 检索指定 Gist 的数据。
获取的 Gist 数据包括:
name:Gist 的名称nameWithOwner:包含所有者用户名的名称description:Gist 描述language:Gist 使用的主要语言starsCount:星标数forksCount:分支数来源:api/gist.js42 src/cards/gist-card.js45-46
src/cards/gist-card.js 中的 renderGistCard 函数负责渲染 Gist 卡。它处理 Gist 数据和自定义选项以生成 SVG 图像。
渲染过程:
来源:src/cards/gist-card.js44-149
Gist 卡遵循特定的布局结构。
卡片的关键组件:
标题的最大长度为 35 个字符,之后会用省略号截断。
来源:src/cards/gist-card.js29-31 src/cards/gist-card.js113-131 src/cards/gist-card.js140-148
Gist 卡可通过各种查询参数进行自定义。
| 参数 | 描述 | 默认 |
|---|---|---|
title_color | 卡片标题的颜色 | 基于主题 |
icon_color | 图标颜色 | 基于主题 |
text_color | 文本颜色 | 基于主题 |
bg_color | 背景颜色 | 基于主题 |
theme | 要使用的主题名称 | 默认主题 |
border_radius | 卡片的圆角半径 | 默认半径 |
border_color | 卡片边框的颜色 | 基于主题 |
show_owner | 是否显示 Gist 所有者的用户名 | false |
hide_border | 是否隐藏卡片边框 | false |
locale | 本地化语言 | null(默认语言) |
有关主题和其他自定义选项的更多详细信息,请参阅 自定义。
来源:api/gist.js12-25 src/cards/gist-card.js47-57
Gist 卡实现了多项文本处理功能:
来源:src/cards/gist-card.js71-77 src/cards/gist-card.js116-119
卡片的高度会根据描述的长度进行调整。
来源:src/cards/gist-card.js79-81
统计数据已格式化以方便阅读。
来源:src/cards/gist-card.js83-111
要在 GitHub README 中使用 Gist 卡:
带自定义项
Gist 卡端点实现了对常见问题的错误处理。
错误卡片的缓存时间比成功响应的缓存时间短。
来源:api/gist.js29-39 api/gist.js72-88
Gist 卡实现了缓存以提高性能并减少 GitHub API 的负载。
cache_seconds 参数进行自定义,但有范围限制。