【发布时间】:2023-03-15 19:10:01
【问题描述】:
我为自己建立了一个简历页面,并使用 GitHub API 列出了我所有的项目。有些项目是带有rtfd build passing 徽章的文档,有些是带有 travis-ci 和 pep-lint 徽章的 python 项目。
现在,我想像项目一样显示徽章,我应该如何使用 API?
【问题讨论】:
标签: api github github-api badge
我为自己建立了一个简历页面,并使用 GitHub API 列出了我所有的项目。有些项目是带有rtfd build passing 徽章的文档,有些是带有 travis-ci 和 pep-lint 徽章的 python 项目。
现在,我想像项目一样显示徽章,我应该如何使用 API?
【问题讨论】:
标签: api github github-api badge
您还可以通过 https://github-shields.com/ 使用不同的 API
见“How to embed live Github PR status in your blogs & docs”
考虑公关https://github.com/cloudfoundry/bosh/pull/715。
该 URL 不指示 PR 是否打开/合并/关闭。URL 的
cloudfoundry/bosh/pull/715部分直接复制到以下基本 URL:
https://github-shields.com/github/ + cloudfoundry/bosh/pull/715 + .svg给出一个重定向到 PR 的 URL。https://github-shields.com/github/cloudfoundry/bosh/pull/715.svg
作为图像 URL,它提供
cloudfoundry/bosh/pull/715太棒了,它被合并了!
对于项目的状态,OP kxxoling 报告in the comments 找到了shields.io:
https://img.shields.io/badge/<SUBJECT>-<STATUS>-<COLOR>.svg
它指示如何获取徽章的状态。
如果没有为该项目添加徽章,它将返回一个无法访问的徽章,如下所示:https://img.shields.io/travis/kxxoling/z42-doc.svg =>
【讨论】:
对于像https://github.com/kxxoling/z42-doc 这样的项目(其中确实有徽章),您需要获取自述文件,然后在其中搜索可能的徽章。在不知道你喜欢用什么语言的情况下,我会写一些伪代码
首先,您需要检索 GitHub 识别为要在您的主页上呈现的 README。你可以这样做
GET /repos/kxxoling/z42-doc/readme
Host: https://api.github.com
Accept: application/vnd.github.v3.raw
如果您更愿意解析 HTML,请将最后一个标题中的“raw”更改为“html”,例如,
GET /repos/kxxoling/z42-doc/readme
Host: https://api.github.com
Accept: application/vnd.github.v3.html
有了 README 的内容,现在您只需解析它以查找特定于您为 README 选择的标记语言的链接或指令。您可以使用正则表达式或您选择的 HTML/XML 解析库来解析它们(如果您从 GitHub 检索呈现的内容)。
【讨论】: