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
|
||||
camp.route(/^\/website(-(([^-]|--)*?)-(([^-]|--)*)(-(([^-]|--)+)-(([^-]|--)+))?)?\/([^/]+)\/(.+)\.(svg|png|gif|jpg|json)$/,
|
||||
camp.route(/^\/website(-(([^-/]|--|\/\/)+)-(([^-/]|--|\/\/)+)(-(([^-/]|--|\/\/)+)-(([^-/]|--|\/\/)+))?)?(-(([^-/]|--|\/\/)+))?\/([^/]+)\/(.+)\.(svg|png|gif|jpg|json)$/,
|
||||
cache(function(data, match, sendBadge, request) {
|
||||
var onlineMessage = escapeFormat(match[2] != null ? match[2] : "online");
|
||||
var offlineMessage = escapeFormat(match[4] != null ? match[4] : "offline");
|
||||
var onlineColor = escapeFormat(match[7] != null ? match[7] : "brightgreen");
|
||||
var offlineColor = escapeFormat(match[9] != null ? match[9] : "red");
|
||||
var userProtocol = match[11];
|
||||
var userURI = match[12];
|
||||
var format = match[13];
|
||||
var onlineMessage = escapeFormatSlashes(match[2] != null ? match[2] : "online");
|
||||
var offlineMessage = escapeFormatSlashes(match[4] != null ? match[4] : "offline");
|
||||
var onlineColor = escapeFormatSlashes(match[7] != null ? match[7] : "brightgreen");
|
||||
var offlineColor = escapeFormatSlashes(match[9] != null ? match[9] : "red");
|
||||
var label = escapeFormatSlashes(match[12] != null ? match[12] : "website");
|
||||
var userProtocol = match[14];
|
||||
var userURI = match[15];
|
||||
var format = match[16];
|
||||
var withProtocolURI = userProtocol + "://" + userURI;
|
||||
var options = {
|
||||
method: 'HEAD',
|
||||
uri: withProtocolURI,
|
||||
};
|
||||
var badgeData = getBadgeData('website', data);
|
||||
var badgeData = getBadgeData(label, data);
|
||||
badgeData.colorscheme = undefined;
|
||||
request(options, function(err, res) {
|
||||
// We consider all HTTP status codes below 310 as success.
|
||||
|
@ -6332,6 +6333,13 @@ function escapeFormat(t) {
|
|||
.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 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>
|
||||
</tr>
|
||||
<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><code>https://img.shields.io/website-up-down-green-red/http/shields.io.svg</code></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-my--website/http/shields.io.svg</code></td>
|
||||
</tr>
|
||||
<tr><th data-keywords='cocoapods'> CocoaPods: </th>
|
||||
<td><img src='/cocoapods/dt/AFNetworking.svg' alt='' /></td>
|
||||
|
@ -1225,10 +1225,16 @@ is where the current server got started.
|
|||
<ul>
|
||||
<li>Nothing:
|
||||
<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:
|
||||
<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:
|
||||
<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>
|
||||
<table class=centered><tbody>
|
||||
<tr><td> Dashes <code>--</code>
|
||||
|
@ -1239,6 +1245,10 @@ is where the current server got started.
|
|||
</td><td> →
|
||||
</td><td> <code>_</code> Underscore <br/>
|
||||
</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>
|
||||
</td><td> →
|
||||
</td><td> <code> </code> Space
|
||||
|
|
Loading…
Reference in New Issue
Block a user