From a9d7579eb75115fee9bc66815fdb60d863002dd8 Mon Sep 17 00:00:00 2001 From: Thaddee Tyl Date: Fri, 17 Jan 2014 15:25:24 +0100 Subject: [PATCH] Allow bitmap image output. --- gh-badge.js | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/gh-badge.js b/gh-badge.js index 7b64db5..1bfeebb 100755 --- a/gh-badge.js +++ b/gh-badge.js @@ -1,7 +1,8 @@ var badge = require('./badge.js'); +var svg2img = require('./svg-to-img.js'); var colorscheme = require('./colorscheme.json'); if (process.argv.length < 4) { - console.log('Usage: badge subject status :[colorscheme]'); + console.log('Usage: badge subject status [:colorscheme]'); console.log('Or: badge subject status right-color [left-color]'); console.log(); console.log(' colorscheme: one of ' @@ -11,11 +12,20 @@ if (process.argv.length < 4) { console.log(' #xxxxxx (six hex digits)'); console.log(' color (CSS color)'); console.log(); - console.log('Eg: badge grown cactus :green'); + console.log('Eg: badge cactus grown :green'); console.log(); process.exit(); } +// Find a format specifier. +var format = 'svg'; +for (var i = 4; i < process.argv.length; i++) { + if (process.argv[i][0] === '.') { + format = process.argv[i].slice(1); + process.argv.splice(i, 1); + } +} + var subject = process.argv[2]; var status = process.argv[3]; var color = process.argv[4] || ':green'; @@ -36,4 +46,10 @@ if (color[0] === ':') { if (colorA) { badgeData.colorA = colorA; } } -badge(badgeData, function(svg) { console.log(svg); }); +badge(badgeData, function produceOutput(svg) { + if (format === 'svg') { + console.log(svg); + } else if (/png|jpg|gif/.test(format)) { + svg2img(svg, format, process.stdout); + } +});