From 1dc9108d999afb54379dbfe4b4d8a81c440dcce1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B0=D0=BD=D0=B4=D0=B0?= =?UTF-8?q?=D1=80=20=D0=A1=D0=B8=D0=BC=D0=B8=D1=9B?= Date: Fri, 17 Apr 2015 21:25:24 +0100 Subject: [PATCH] Added support for Clojars versioning Since Clojars now have `clojar/latest-version.json', this change uses that data to parse out the version and create a version badge. Built on top of the work done by @erwan! --- server.js | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/server.js b/server.js index 8d930ae..bb04732 100644 --- a/server.js +++ b/server.js @@ -1089,11 +1089,11 @@ cache(function(data, match, sendBadge, request) { })); // Clojars version integration -camp.route(/^\/clojars\/v\/(.*)\.(svg|png|gif|jpg|json)$/, +camp.route(/^\/clojars\/v\/(.+)((\/)(.+))?\.(svg|png|gif|jpg|json)$/, cache(function(data, match, sendBadge, request) { - var repo = match[1]; // eg, `prismic`. + var clojar = match[1]; // eg, `prismic` or `foo/bar`. var format = match[2]; - var apiUrl = 'https://clojars.org/search?q=' + repo + '&format=json'; + var apiUrl = 'https://clojars.org/' + clojar + '/latest-version.json'; var badgeData = getBadgeData('clojars', data); request(apiUrl, function(err, res, buffer) { if (err !== null) { @@ -1102,8 +1102,7 @@ cache(function(data, match, sendBadge, request) { } try { var data = JSON.parse(buffer); - var first = data.results[0]; - var version = first.version; + var version = data.version; var vdata = versionColor(version); badgeData.text[1] = vdata.version; badgeData.colorscheme = vdata.color;