我在创建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
效果很好...
但是,我想根据规则更改颜色。我可能还会以JSON格式返回十六进制颜色,以将其解析为徽章。我尝试使用公共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
颜色:
#D0BB79
如何使颜色也动态?带有,Coveralls.io或Codecov.io的示例彩色动态徽章。
我也遇到了类似的麻烦,最终使用了名为SonarCloud.io的命令行工具,该工具以阈值为参数。这使您可以在一个命令中生成具有动态颜色的徽章:
anybadge
这里的主要区别在于,这不是通过引用URL来完成的,因此不能以相同的方式嵌入。我在CI管道中使用它来生成各种徽章,然后将它们存储为项目工件,并在我的项目anybadge -l pylint -v 2.22 -f pylint.svg 2=red 4=orange 8=yellow 10=green
中引用它们。