Merge remote-tracking branch 'montanaflynn/docker-stars'

This commit is contained in:
Thaddee Tyl 2015-05-18 21:51:56 +02:00
commit 12c3136d63
2 changed files with 83 additions and 15 deletions

View File

@ -3462,22 +3462,82 @@ cache(function (data, match, sendBadge, request) {
}
try {
var data = JSON.parse(buffer);
if (info === 'v') {
var vdata = versionColor(data);
badgeData.text[1] = vdata.version;
badgeData.colorscheme = vdata.color;
sendBadge(format, badgeData);
} else if (info == 'l') {
var license = data.info.license;
badgeData.text[0] = 'license';
if (license == null) {
badgeData.text[1] = 'Unknown';
} else {
badgeData.text[1] = license;
badgeData.colorscheme = 'blue';
}
sendBadge(format, badgeData);
if (info === 'v') {
var vdata = versionColor(data);
badgeData.text[1] = vdata.version;
badgeData.colorscheme = vdata.color;
sendBadge(format, badgeData);
} else if (info == 'l') {
var license = data.info.license;
badgeData.text[0] = 'license';
if (license == null) {
badgeData.text[1] = 'Unknown';
} else {
badgeData.text[1] = license;
badgeData.colorscheme = 'blue';
}
sendBadge(format, badgeData);
}
} catch(e) {
badgeData.text[1] = 'invalid';
sendBadge(format, badgeData);
}
});
}));
// Docker Hub stars integration.
camp.route(/^\/docker\/stars\/([^\/]+)\/([^\/]+)\.(svg|png|gif|jpg|json)$/,
cache(function(data, match, sendBadge, request) {
var user = match[1]; // eg, mashape
var repo = match[2]; // eg, kong
var format = match[3];
var baseURL = 'http://docker.cloudbrain.io/';
var path = user + '/' + repo;
var badgeData = getBadgeData('docker', data);
request(baseURL + path, function(err, res, buffer) {
if (err != null) {
badgeData.text[1] = 'inaccessible';
sendBadge(format, badgeData);
return;
}
try {
var data = JSON.parse(buffer);
var stars = data.stars;
var starSuffix = stars === 1 ? " star" : " stars";
badgeData.text[1] = metric(stars) + starSuffix;
badgeData.colorscheme = null;
badgeData.colorB = '#008bb8';
sendBadge(format, badgeData);
} catch(e) {
badgeData.text[1] = 'invalid';
sendBadge(format, badgeData);
}
});
}));
// Docker Hub pulls integration.
camp.route(/^\/docker\/pulls\/([^\/]+)\/([^\/]+)\.(svg|png|gif|jpg|json)$/,
cache(function(data, match, sendBadge, request) {
var user = match[1]; // eg, mashape
var repo = match[2]; // eg, kong
var format = match[3];
var baseURL = 'http://docker.cloudbrain.io/';
var path = user + '/' + repo;
var badgeData = getBadgeData('docker', data);
request(baseURL + path, function(err, res, buffer) {
if (err != null) {
badgeData.text[1] = 'inaccessible';
sendBadge(format, badgeData);
return;
}
try {
var data = JSON.parse(buffer);
var pulls = data.pulls;
var pullSuffix = pulls === 1 ? " pull" : " pulls";
badgeData.text[1] = metric(pulls) + pullSuffix;
badgeData.colorscheme = null;
badgeData.colorB = '#008bb8';
sendBadge(format, badgeData);
} catch(e) {
badgeData.text[1] = 'invalid';
sendBadge(format, badgeData);

View File

@ -593,6 +593,14 @@ Pixel-perfect   Retina-ready   Fast   Consistent   Hackable
<td><img src='/dub/l/vibe-d.svg' alt=''/></td>
<td><code>https://img.shields.io/dub/l/vibe-d.svg</code></td>
</tr>
<tr><th data-keywords='docker stars'> Docker Stars: </th>
<td><img src='/docker/stars/mashape/kong.svg' alt=''/></td>
<td><code>https://img.shields.io/docker/stars/mashape/kong.svg</code></td>
</tr>
<tr><th data-keywords='docker pulls'> Docker Pulls: </th>
<td><img src='/docker/pulls/mashape/kong.svg' alt=''/></td>
<td><code>https://img.shields.io/docker/pulls/mashape/kong.svg</code></td>
</tr>
</tbody></table>
<h2 id="your-badge"> Your Badge </h2>