具有动态颜色的自定义 GitHub 徽章

Custom GitHub badges with dynamic color

我努力创建一个动态改变颜色的 shields.io 徽章。

我可以使用 JSON 响应将文本解析为 badge 并将颜色设置为橙色:

https://img.shields.io/badge/dynamic/json.svg?label=custom&url=https://jsonplaceholder.typicode.com/posts&query=$[1].id&colorB=orange

效果很好...


但是,我想根据规则改变颜色。我可能 return JSON 中的 HEX 颜色也被解析为徽章。我尝试了 public API 以获得随机颜色和 test 行为:

http://www.colr.org/json/color/random

我使用 JsonPath $.colors[0].hex 随机获得第一个颜色,并将其作为动态值和颜色放在徽章 URL 上:

https://img.shields.io/badge/dynamic/json.svg?label=custom&url=http://www.colr.org/json/color/random&query=$.colors[0].hex&colorB=$.colors[0].hex

无论随机选择的颜色如何,结果始终是绿色(最后生成的结果是 #D0BB79:

我希望能正确匹配 #D0BB79 颜色:

如何让颜色也动起来? Coveralls.io, Codecov.io or SonarCloud.io 提供了示例动态彩色徽章。

我遇到了类似的麻烦,最终使用了一个名为 anybadge 的命令行工具,该工具将阈值作为参数。这允许您在一个命令中生成具有动态颜色的徽章:

anybadge -l pylint -v 2.22 -f pylint.svg 2=red 4=orange 8=yellow 10=green

颜色可以通过十六进制颜色代码或一组预定义的颜色名称来定义。

这里的主要区别是这不是通过引用 URL 完成的,因此不能以相同的方式嵌入。我在我的 CI 管道中使用它来生成各种徽章,然后将它们存储为项目工件并在我的项目 README.md.

中引用它们