diff --git a/logo/bithound.svg b/logo/bithound.svg new file mode 100644 index 0000000..7fb554d --- /dev/null +++ b/logo/bithound.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/server.js b/server.js index e073a04..7283851 100644 --- a/server.js +++ b/server.js @@ -4673,6 +4673,35 @@ cache(function(data, match, sendBadge, request) { })} )); +// bitHound integration +camp.route(/^\/bithound\/(code\/|dependencies\/|devDependencies\/)?(.+?)\.(svg|png|gif|jpg|json)$/, +cache(function(data, match, sendBadge, request) { + var type = match[1]; + var userRepo = match[2]; // eg, `github/rexxars/sse-channel`. + var format = match[3]; + var url = 'https://www.bithound.io/api/' + userRepo + '/badge/' + type; + var badgeData = getBadgeData(type === 'devDependencies' ? 'dev dependencies' : type, data); + + request(url, function(err, res) { + if (err != null) { + badgeData.text[1] = 'inaccessible'; + sendBadge(format, badgeData); + return; + } + try { + badgeData.text[1] = res.label; + badgeData.logo = logos['bithound']; + badgeData.logoWidth = 15; + badgeData.colorscheme = res.color; + sendBadge(format, badgeData); + + } catch(e) { + badgeData.text[1] = 'invalid'; + sendBadge(format, badgeData); + } + }); +})); + // Any badge. camp.route(/^\/(:|badge\/)(([^-]|--)*?)-(([^-]|--)*)-(([^-]|--)+)\.(svg|png|gif|jpg)$/, function(data, match, end, ask) { diff --git a/try.html b/try.html index 4015452..4365c11 100644 --- a/try.html +++ b/try.html @@ -558,6 +558,10 @@ Pixel-perfect Retina-ready Fast Consistent Hackable
https://img.shields.io/codeclimate/coverage/github/triAGENS/ashikawa-core.svg
https://img.shields.io/bithound/code/github/rexxars/sse-channel.svg
https://img.shields.io/gemnasium/mathiasbynens/he.svg
https://img.shields.io/david/peer/webcomponents/generator-element.svg
https://img.shields.io/bithound/dependencies/github/rexxars/sse-channel.svg
https://img.shields.io/bithound/devDependencies/github/rexxars/sse-channel.svg
https://img.shields.io/cocoapods/p/AFNetworking.svg