diff --git a/package.json b/package.json index e227b42..917b632 100644 --- a/package.json +++ b/package.json @@ -34,6 +34,9 @@ "scripts": { "test": "mocha ./test/run.js" }, + "bin": { + "showdown": "src/cli.js" + }, "devDependencies": { "angular": "^1.3.2", "grunt": "^0.4.5", diff --git a/src/nodedown.js b/src/cli.js similarity index 54% rename from src/nodedown.js rename to src/cli.js index 1b4a222..0b78b77 100644 --- a/src/nodedown.js +++ b/src/cli.js @@ -1,16 +1,23 @@ var Showdown = require('./showdown'); +var cli = require('cli'); var fs = require('fs'); var converter = new Showdown.converter(); +/* +If an argument is given, treat it as the file to be read. +Otherwise, read from stdin. +*/ if(process.argv.length > 2) { fs.readFile(process.argv[2], function(err, data) { if(err) { - console.log("Error: Invalid file"); + console.error("Error: Invalid file"); } else { console.log(converter.makeHtml(data.toString())); } }) } else { - console.log("Error: No file given"); + cli.withStdin(function(data) { + this.output(converter.makeHtml(data.toString())); + }) }