From 016a9f40dce7ff37193faf2bd045fdabd7247524 Mon Sep 17 00:00:00 2001 From: Thaddee Tyl Date: Thu, 18 Jun 2015 21:49:39 +0200 Subject: [PATCH] Twitter URL --- logo/twitter.svg | 3 +++ server.js | 29 +++++++++++++++++++++++++++++ try.html | 32 ++++++++++++++++++++------------ 3 files changed, 52 insertions(+), 12 deletions(-) create mode 100644 logo/twitter.svg diff --git a/logo/twitter.svg b/logo/twitter.svg new file mode 100644 index 0000000..1332955 --- /dev/null +++ b/logo/twitter.svg @@ -0,0 +1,3 @@ + + + diff --git a/server.js b/server.js index 37b8400..ae6a013 100644 --- a/server.js +++ b/server.js @@ -3858,6 +3858,35 @@ cache(function(data, match, sendBadge, request) { }); })); +// Twitter integration. +camp.route(/^\/twitter\/url\/([^\/]+)\/(.+)\.(svg|png|gif|jpg|json)$/, +cache(function(data, match, sendBadge, request) { + var scheme = match[1]; // eg, https + var path = match[2]; // eg, shields.io + var format = match[3]; + var url = 'http://cdn.api.twitter.com/1/urls/count.json?url=' + scheme + '://' + path; + var badgeData = getBadgeData('tweet', data); + if (badgeData.template === 'social') { + badgeData.logo = badgeData.logo || logos.twitter; + } + request(url, function(err, res, buffer) { + if (err != null) { + badgeData.text[1] = 'inaccessible'; + sendBadge(format, badgeData); + return; + } + try { + var data = JSON.parse(buffer); + badgeData.text[1] = metric(data.count); + badgeData.colorscheme = '55ACEE'; + sendBadge(format, badgeData); + } catch(e) { + badgeData.text[1] = 'invalid'; + sendBadge(format, badgeData); + } + }); +})); + // Any badge. camp.route(/^\/(:|badge\/)(([^-]|--)*?)-(([^-]|--)*)-(([^-]|--)+)\.(svg|png|gif|jpg)$/, function(data, match, end, ask) { diff --git a/try.html b/try.html index e475f79..02d8522 100644 --- a/try.html +++ b/try.html @@ -460,6 +460,26 @@ Pixel-perfect   Retina-ready   Fast   Consistent   Hackable +

Social

+ + + + + + + + + + + + + + + + + +
GitHub forks: https://img.shields.io/github/forks/badges/shields.svg
GitHub stars: https://img.shields.io/github/stars/badges/shields.svg
GitHub followers: https://img.shields.io/github/followers/espadrine.svg
Twitter: https://img.shields.io/twitter/url/https/shields.io.svg
+

Miscellaneous

@@ -582,18 +602,6 @@ Pixel-perfect   Retina-ready   Fast   Consistent   Hackable - - - - - - - - - - - -
Gratipay: https://img.shields.io/github/issues-raw/badges/shields.svg
GitHub forks: https://img.shields.io/github/forks/badges/shields.svg
GitHub stars: https://img.shields.io/github/stars/badges/shields.svg
GitHub followers: https://img.shields.io/github/followers/espadrine.svg
GitHub license: https://img.shields.io/github/license/mashape/apistatus.svg