diff --git a/README.md b/README.md index 53de8e33..5940d50f 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ ## achievibit [![Open Source Love](https://badges.frapsoft.com/os/v1/open-source.svg?v=102)](https://github.com/ellerbrock/open-source-badge/) +[![Supported achievements](https://achievibit.herokuapp.com/achievementsBadge) + ------ github hook system to integrate achievements for repositories diff --git a/Verdana.ttf b/Verdana.ttf new file mode 100644 index 00000000..e96c3c8b Binary files /dev/null and b/Verdana.ttf differ diff --git a/index.js b/index.js index 8e63f0cb..125602c8 100644 --- a/index.js +++ b/index.js @@ -13,6 +13,7 @@ var express = require('express'), // call express cons = require('consolidate'), moment = require('moment'), _ = require('lodash'), + badge = require('gh-badges'), nconf = require('nconf'), ngrok = require('ngrok'); @@ -25,6 +26,13 @@ var url = nconf.get('databaseUrl'); var db = monk(url); var app = express(); // define our app using express +var achievements = require('require-all')({ + dirname : __dirname + '/achievements', + filter : /(.+achievement)\.js$/, + excludeDirs : /^\.(git|svn)$/, + recursive : true +}); + // use scribe.js for logging var console = require('./consoleService')('SERVER', ['magenta', 'inverse'], process.console); var eventManager = require('./eventManager'); @@ -128,6 +136,16 @@ app.post('*', jsonParser, function(req, res) { }); }); +app.get('/achievementsBadge', function(req, res) { + badge.loadFont('./Verdana.ttf', function(err) { + badge({ text: ["achievements", _.keys(achievements).length], colorA: "#894597", colorB: "#5d5d5d", template: "flat" }, + function(svg, err) { + res.setHeader('Content-Type', 'image/svg+xml;charset=utf-8'); + res.send(svg); + }); + }); +}); + app.get('/download/extension', function(req, res) { var file = __dirname + '/public/achievibit-chrome-extension.crx'; res.download(file); diff --git a/package.json b/package.json index 0bf43c9e..d97391c4 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,8 @@ "compression": "^1.6.2", "consolidate": "^0.14.1", "express": "^4.14.0", + "gh-badges": "^1.3.0", + "gist-sync": "Thatkookooguy/gist-sync", "githubhook": "^1.6.1", "gulp": "^3.9.1", "gulp-util": "^3.0.7", @@ -40,7 +42,6 @@ "serve-favicon": "^2.3.0", "socket.io": "^1.4.8", "swig": "^1.4.2", - "tinycolor2": "^1.4.1", - "gist-sync": "Thatkookooguy/gist-sync" + "tinycolor2": "^1.4.1" } }