Website badge: Fix color and subdirs, allow specifying label (#949)
This commit is contained in:
parent
a079b682e3
commit
571f46f16a
26
server.js
26
server.js
|
@ -5874,21 +5874,22 @@ cache(function(data, match, sendBadge, request) {
|
||||||
}));
|
}));
|
||||||
|
|
||||||
// Test if a webpage is online
|
// Test if a webpage is online
|
||||||
camp.route(/^\/website(-(([^-]|--)*?)-(([^-]|--)*)(-(([^-]|--)+)-(([^-]|--)+))?)?\/([^/]+)\/(.+)\.(svg|png|gif|jpg|json)$/,
|
camp.route(/^\/website(-(([^-/]|--|\/\/)+)-(([^-/]|--|\/\/)+)(-(([^-/]|--|\/\/)+)-(([^-/]|--|\/\/)+))?)?(-(([^-/]|--|\/\/)+))?\/([^/]+)\/(.+)\.(svg|png|gif|jpg|json)$/,
|
||||||
cache(function(data, match, sendBadge, request) {
|
cache(function(data, match, sendBadge, request) {
|
||||||
var onlineMessage = escapeFormat(match[2] != null ? match[2] : "online");
|
var onlineMessage = escapeFormatSlashes(match[2] != null ? match[2] : "online");
|
||||||
var offlineMessage = escapeFormat(match[4] != null ? match[4] : "offline");
|
var offlineMessage = escapeFormatSlashes(match[4] != null ? match[4] : "offline");
|
||||||
var onlineColor = escapeFormat(match[7] != null ? match[7] : "brightgreen");
|
var onlineColor = escapeFormatSlashes(match[7] != null ? match[7] : "brightgreen");
|
||||||
var offlineColor = escapeFormat(match[9] != null ? match[9] : "red");
|
var offlineColor = escapeFormatSlashes(match[9] != null ? match[9] : "red");
|
||||||
var userProtocol = match[11];
|
var label = escapeFormatSlashes(match[12] != null ? match[12] : "website");
|
||||||
var userURI = match[12];
|
var userProtocol = match[14];
|
||||||
var format = match[13];
|
var userURI = match[15];
|
||||||
|
var format = match[16];
|
||||||
var withProtocolURI = userProtocol + "://" + userURI;
|
var withProtocolURI = userProtocol + "://" + userURI;
|
||||||
var options = {
|
var options = {
|
||||||
method: 'HEAD',
|
method: 'HEAD',
|
||||||
uri: withProtocolURI,
|
uri: withProtocolURI,
|
||||||
};
|
};
|
||||||
var badgeData = getBadgeData('website', data);
|
var badgeData = getBadgeData(label, data);
|
||||||
badgeData.colorscheme = undefined;
|
badgeData.colorscheme = undefined;
|
||||||
request(options, function(err, res) {
|
request(options, function(err, res) {
|
||||||
// We consider all HTTP status codes below 310 as success.
|
// We consider all HTTP status codes below 310 as success.
|
||||||
|
@ -6332,6 +6333,13 @@ function escapeFormat(t) {
|
||||||
.replace(/__/g, '_').replace(/--/g, '-');
|
.replace(/__/g, '_').replace(/--/g, '-');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function escapeFormatSlashes(t) {
|
||||||
|
return escapeFormat(t)
|
||||||
|
// Double slash
|
||||||
|
.replace(/\/\//g, '/');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
function sixHex(s) { return /^[0-9a-fA-F]{6}$/.test(s); }
|
function sixHex(s) { return /^[0-9a-fA-F]{6}$/.test(s); }
|
||||||
|
|
||||||
function getLabel(label, data) {
|
function getLabel(label, data) {
|
||||||
|
|
14
try.html
14
try.html
|
@ -405,8 +405,8 @@ Pixel-perfect Retina-ready Fast Consistent Hackable
|
||||||
<td><code>https://img.shields.io/chrome-web-store/d/nimelepbpejjlbmoobocpfnjhihnpked.svg</code></td>
|
<td><code>https://img.shields.io/chrome-web-store/d/nimelepbpejjlbmoobocpfnjhihnpked.svg</code></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr><th data-keywords='website' data-doc='websiteDoc'> Website: </th>
|
<tr><th data-keywords='website' data-doc='websiteDoc'> Website: </th>
|
||||||
<td><img src='/website-up-down-green-red/http/shields.io.svg' alt=''/></td>
|
<td><img src='/website-up-down-green-red-my--website/http/shields.io.svg' alt=''/></td>
|
||||||
<td><code>https://img.shields.io/website-up-down-green-red/http/shields.io.svg</code></td>
|
<td><code>https://img.shields.io/website-up-down-green-red-my--website/http/shields.io.svg</code></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr><th data-keywords='cocoapods'> CocoaPods: </th>
|
<tr><th data-keywords='cocoapods'> CocoaPods: </th>
|
||||||
<td><img src='/cocoapods/dt/AFNetworking.svg' alt='' /></td>
|
<td><img src='/cocoapods/dt/AFNetworking.svg' alt='' /></td>
|
||||||
|
@ -1225,10 +1225,16 @@ is where the current server got started.
|
||||||
<ul>
|
<ul>
|
||||||
<li>Nothing:
|
<li>Nothing:
|
||||||
<code>…/website/…</code></li>
|
<code>…/website/…</code></li>
|
||||||
|
<li>Badge label (displayed in the left part of the badge):
|
||||||
|
<code>…/website-label/…</code></li>
|
||||||
<li>Online and offline text:
|
<li>Online and offline text:
|
||||||
<code>…/website-up-down/…</code></li>
|
<code>…/website-up-down/…</code></li>
|
||||||
|
<li>Online and offline text, then badge label:
|
||||||
|
<code>…/website-up-down-label/…</code></li>
|
||||||
<li>Online and offline text, then online and offline colors:
|
<li>Online and offline text, then online and offline colors:
|
||||||
<code>…/website-up-down-green-orange/…</code></li>
|
<code>…/website-up-down-green-orange/…</code></li>
|
||||||
|
<li>Online and offline text, then online and offline colors, then badge label:
|
||||||
|
<code>…/website-up-down-green-orange-label/…</code></li>
|
||||||
</ul>
|
</ul>
|
||||||
<table class=centered><tbody>
|
<table class=centered><tbody>
|
||||||
<tr><td> Dashes <code>--</code>
|
<tr><td> Dashes <code>--</code>
|
||||||
|
@ -1239,6 +1245,10 @@ is where the current server got started.
|
||||||
</td><td> →
|
</td><td> →
|
||||||
</td><td> <code>_</code> Underscore <br/>
|
</td><td> <code>_</code> Underscore <br/>
|
||||||
</td></tr>
|
</td></tr>
|
||||||
|
<tr><td> Slashes <code>//</code>
|
||||||
|
</td><td> →
|
||||||
|
</td><td> <code>/</code> Slash <br/>
|
||||||
|
</td></tr>
|
||||||
<tr><td> <code>_</code> or Space <code> </code>
|
<tr><td> <code>_</code> or Space <code> </code>
|
||||||
</td><td> →
|
</td><td> →
|
||||||
</td><td> <code> </code> Space
|
</td><td> <code> </code> Space
|
||||||
|
|
Loading…
Reference in New Issue
Block a user