diff --git a/index.html b/index.html index 82ef43c..461f097 100644 --- a/index.html +++ b/index.html @@ -379,6 +379,10 @@ Pixel-perfect   Retina-ready   Fast   Consistent   Hackable https://img.shields.io/packagist/vpre/symfony/symfony.svg + Bintray: + + https://img.shields.io/bintray/v/asciidoctor/maven/asciidoctorj.svg + Clojars: https://img.shields.io/clojars/v/prismic.svg diff --git a/server.js b/server.js index 085dcf3..c7f646a 100644 --- a/server.js +++ b/server.js @@ -1348,6 +1348,47 @@ cache(function(data, match, sendBadge, request) { }); })); +// Bintray version integration +camp.route(/^\/bintray\/v\/(.+)\.(svg|png|gif|jpg|json)$/, +cache(function(data, match, sendBadge, request) { + var path = match[1]; // :subject/:repo/:package (e.g. asciidoctor/maven/asciidoctorj) + var format = match[2]; + + var options = { + method: 'GET', + uri: 'https://bintray.com/api/v1/packages/' + path + '/versions/_latest', + headers: { + Accept: 'application/json' + } + }; + + if (serverSecrets && serverSecrets.bintray_user) { + options.auth = { + user: serverSecrets.bintray_user, + pass: serverSecrets.bintray_apikey + } + } + + var badgeData = getBadgeData('bintray', data); + request(options, function(err, res, buffer) { + if (err !== null) { + badgeData.text[1] = 'inaccessible'; + sendBadge(format, badgeData); + return; + } + try { + var data = JSON.parse(buffer); + var vdata = versionColor(data.name); + badgeData.text[1] = vdata.version; + badgeData.colorscheme = 'brightgreen'; + sendBadge(format, badgeData); + } catch(e) { + badgeData.text[1] = 'invalid'; + sendBadge(format, badgeData); + } + }); +})); + // Clojars version integration camp.route(/^\/clojars\/v\/(.+)\.(svg|png|gif|jpg|json)$/, cache(function(data, match, sendBadge, request) { diff --git a/try.html b/try.html index f2a7028..7b9412e 100644 --- a/try.html +++ b/try.html @@ -378,6 +378,10 @@ Pixel-perfect   Retina-ready   Fast   Consistent   Hackable https://img.shields.io/packagist/vpre/symfony/symfony.svg + Bintray: + + https://img.shields.io/bintray/v/asciidoctor/maven/asciidoctorj.svg + Clojars: https://img.shields.io/clojars/v/prismic.svg