【问题标题】:Custom GitHub badges with dynamic color具有动态颜色的自定义 GitHub 徽章
【发布时间】:2019-04-22 03:20:19
【问题描述】:

我很难创建一个动态改变颜色的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 中的 HEX 颜色以解析为徽章。我尝试公开API 来获得随机颜色并测试行为:

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.ioCodecov.ioSonarCloud.io 提供。

【问题讨论】:

  • 这里的讨论可能很有趣,尤其是新的端点徽章:github.com/badges/shields/issues/1752 ;)
  • @Pyves:不,我仍然在等待答案,尽管这并不紧急。如果您提供带有示例的简短摘要作为答案,我很乐意接受。 :)

标签: json github colors badge shields.io


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 2018-08-14
    • 2020-10-25
    • 2019-09-10
    • 2018-11-24
    • 2015-06-03
    • 2021-04-18
    • 1970-01-01
    • 2022-01-08
    • 2021-07-30
    相关资源
    最近更新 更多