diff --git a/server.js b/server.js index 1ca2b3f..8d930ae 100644 --- a/server.js +++ b/server.js @@ -1088,6 +1088,33 @@ cache(function(data, match, sendBadge, request) { }); })); +// Clojars version integration +camp.route(/^\/clojars\/v\/(.*)\.(svg|png|gif|jpg|json)$/, +cache(function(data, match, sendBadge, request) { + var repo = match[1]; // eg, `prismic`. + var format = match[2]; + var apiUrl = 'https://clojars.org/search?q=' + repo + '&format=json'; + var badgeData = getBadgeData('clojars', data); + request(apiUrl, function(err, res, buffer) { + if (err !== null) { + badgeData.text[1] = 'inaccessible'; + sendBadge(format, badgeData); + } + try { + var data = JSON.parse(buffer); + var first = data.results[0]; + var version = first.version; + var vdata = versionColor(version); + badgeData.text[1] = vdata.version; + badgeData.colorscheme = vdata.color; + sendBadge(format, badgeData); + } catch(e) { + badgeData.text[1] = 'invalid'; + sendBadge(format, badgeData); + } + }); +})); + // Gem version integration. camp.route(/^\/gem\/v\/(.*)\.(svg|png|gif|jpg|json)$/, cache(function(data, match, sendBadge, request) { diff --git a/try.html b/try.html index 5736906..4b9b2ee 100644 --- a/try.html +++ b/try.html @@ -302,6 +302,10 @@ Pixel-perfect Retina-ready Fast Consistent Hackable
https://img.shields.io/packagist/vpre/symfony/symfony.svg
https://img.shields.io/clojars/v/prismic.svg
https://img.shields.io/cocoapods/v/AFNetworking.svg