diff --git a/index.html b/index.html index 6e0b832..a6be10c 100644 --- a/index.html +++ b/index.html @@ -515,6 +515,10 @@ Pixel-perfect   Retina-ready   Fast   Consistent   Hackable https://img.shields.io/dub/v/vibe-d.svg + homebrew: + + https://img.shields.io/homebrew/v/cake.svg +

Social

diff --git a/server.js b/server.js index b02892f..0944924 100644 --- a/server.js +++ b/server.js @@ -4814,6 +4814,36 @@ cache(function(data, match, sendBadge, request) { sendBadge(format, badgeData); })); +// homebrew integration +// Example: /homebrew/v/cake.svg +camp.route(/^\/homebrew\/v\/([^\/]+)\.(svg|png|gif|jpg|json)$/, +cache(function(data, match, sendBadge, request) { + var package = match[1]; + var format = match[2]; + var apiUrl = 'http://braumeister.org/formula/' + package + '/version'; + + var badgeData = getBadgeData('homebrew', data); + request(apiUrl, { headers: { 'Accept': 'application/json' } }, function(err, res, buffer) { + if (err != null) { + badgeData.text[1] = 'inaccessible'; + sendBadge(format, badgeData); + } + try { + var data = JSON.parse(buffer); + var version = data.stable; + + 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); + } + }); +})); + // StackExchange integration. camp.route(/^\/stackexchange\/([^\/]+)\/([^\/])\/([^\/]+)\.(svg|png|gif|jpg|json)$/, cache(function(data, match, sendBadge, request) { diff --git a/try.html b/try.html index acc69c0..90f5db7 100644 --- a/try.html +++ b/try.html @@ -518,6 +518,10 @@ Pixel-perfect   Retina-ready   Fast   Consistent   Hackable https://img.shields.io/aur/version/yaourt.svg + homebrew: + + https://img.shields.io/homebrew/v/cake.svg +

Social