2015-03-02 132 views

回答

1

对于像https://github.com/kxxoling/z42-doc项目(它确实有它的徽章),您需要获取的自述然后搜索可能的徽章。不知道你想用什么语言,我会写一些伪代码

首先,你需要检索GitHub标识为在你的主页上呈现的自述文件。您可以通过执行

GET /repos/kxxoling/z42-doc/readme 
Host: https://api.github.com 
Accept: application/vnd.github.v3.raw 

这样做相反,如果你宁愿解析HTML,变“生”到“HTML”中的最后一个头,如

GET /repos/kxxoling/z42-doc/readme 
Host: https://api.github.com 
Accept: application/vnd.github.v3.html 

随着自述的内容,现在只需要解析它为特定于您为自述文件选择的标记语言的链接或指令。您可以使用正则表达式或您选择的HTML/XML解析库(如果您从GitHub中检索呈现的内容)解析它们。

+0

这似乎是可行的,但似乎我必须发送一个网络请求,并在浏览器中解析每个回购的响应,而不是我认为的优雅。 – kxxoling 2015-03-04 03:20:42

+0

@kxxoling并非所有事情都必须在浏览器中完成。如果你以这种方式生成存储库列表,那么我很惊讶你不利于这样做。如果您的存储库列表是在服务器上自动生成的,并且是静态的,那么您可以在生成存储库列表时获取此列表。如果你把它做成cron的工作,你实在只需要每天做一两次 – 2015-03-04 13:40:12

6

你也可以使用不同的API与https://github-shields.com/

请参阅 “How to embed live Github PR status in your blogs & docs

考虑PR 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 =>inaccessible

+0

从链接中我发现这个:http:// shields。io /,它表示如何获得徽章的状态,如果没有为该项目添加徽章,它将返回如下所示的不可用徽章:https://img.shields.io/travis/kxxoling/z42-doc。 svg。在完成工作之后,我会进一步深入研究。 – kxxoling 2015-03-03 09:18:17

+0

@kxxoling看起来不错!为了提高可见性,我在答案中包含了该链接。 – VonC 2015-03-03 09:34:39

+1

但我怎么知道项目有哪些徽章?这就是我想要的,但不是“无法进入的徽章”。 – kxxoling 2015-03-04 02:55:33