diff --git a/index.html b/index.html index 3846d04..28b438a 100644 --- a/index.html +++ b/index.html @@ -723,6 +723,10 @@ Pixel-perfect   Retina-ready   Fast   Consistent   Hackable https://img.shields.io/docker/pulls/mashape/kong.svg + Docker Automated build + + https://img.shields.io/docker/automated/jrottenberg/ffmpeg.svg + ImageLayers Size: https://img.shields.io/imagelayers/image-size/_/ubuntu/latest.svg diff --git a/server.js b/server.js index acb8ab7..05570e9 100644 --- a/server.js +++ b/server.js @@ -4471,6 +4471,43 @@ cache(function(data, match, sendBadge, request) { }); })); + +// Docker Hub automated integration. +camp.route(/^\/docker\/automated\/([^\/]+)\/([^\/]+)\.(svg|png|gif|jpg|json)$/, +cache(function(data, match, sendBadge, request) { + var user = match[1]; // eg, jrottenberg + var repo = match[2]; // eg, ffmpeg + var format = match[3]; + if (user === '_') { + user = 'library'; + } + var path = user + '/' + repo; + var url = 'https://registry.hub.docker.com/v2/repositories/' + path; + var badgeData = getBadgeData('automated build', data); + request(url, function(err, res, buffer) { + if (err != null) { + badgeData.text[1] = 'inaccessible'; + sendBadge(format, badgeData); + return; + } + try { + var data = JSON.parse(buffer); + var automated = data.is_automated; + badgeData.text[1] = automated; + if (automated) { + badgeData.colorscheme = 'blue'; + } else { + badgeData.colorscheme = 'yellow'; + } + badgeData.colorB = '#008bb8'; + sendBadge(format, badgeData); + } catch(e) { + badgeData.text[1] = 'invalid'; + sendBadge(format, badgeData); + } + }); +})); + // Twitter integration. camp.route(/^\/twitter\/url\/([^\/]+)\/(.+)\.(svg|png|gif|jpg|json)$/, cache(function(data, match, sendBadge, request) { diff --git a/try.html b/try.html index c68f092..9ecd25f 100644 --- a/try.html +++ b/try.html @@ -722,6 +722,10 @@ Pixel-perfect   Retina-ready   Fast   Consistent   Hackable https://img.shields.io/docker/pulls/mashape/kong.svg + Docker Automated build + + https://img.shields.io/docker/automated/jrottenberg/ffmpeg.svg + ImageLayers Size: https://img.shields.io/imagelayers/image-size/_/ubuntu/latest.svg