本文档说明了在 GitHub Readme Stats 中如何管理和使用编程语言的颜色数据。这些信息对于在“最流行的语言”卡片和其他出现语言可视化的地方,使用与 GitHub 官方配色方案一致的语言颜色进行渲染至关重要。
有关 GitHub API 集成的信息,请参阅 GitHub API 集成。
语言数据系统维护着编程语言名称与其对应十六进制颜色代码的映射关系。这些数据源自 GitHub 的官方 Linguist 存储库,并自动更新,以确保与 GitHub 平台保持一致。
来源:src/common/languageColors.json scripts/generate-langs-json.js
语言颜色数据存储在一个全面的 JSON 文件中,该文件将语言名称映射到其对应的十六进制颜色代码。
src/common/languageColors.json
该文件包含数百个语言条目,格式如下:
每个键是编程语言的名称,该名称与 GitHub API 在查询存储库时返回的名称匹配;每个值是代表该语言在 GitHub 上官方颜色的十六进制颜色代码。
来源:src/common/languageColors.json1-624
语言颜色数据通过一个自动化脚本保持最新。
scripts/generate-langs-json.js
这个 Node.js 脚本执行以下操作:
languageColors.json。关键实现细节包括:
来源:scripts/generate-langs-json.js1-31
更新过程通过 GitHub Actions 实现自动化。工作流程会定期运行脚本,以确保语言颜色数据与 GitHub 的最新定义保持同步。这确保了当 GitHub 添加对新语言的支持或更新现有颜色时,GitHub Readme Stats 会自动整合这些更改。
语言颜色数据主要由以下两个卡片渲染器使用:
当系统需要显示一种语言时:
languageColors.json 中查找对应的颜色。语言数据系统是 GitHub Readme Stats 的关键组成部分,它提供了一致且最新的编程语言颜色信息。通过与 GitHub 的 Linguist 存储库自动同步,它确保卡片中的语言可视化与其在 GitHub 平台上的可视化保持视觉上的一致性。
来源:src/common/languageColors.json scripts/generate-langs-json.js