diff options
Diffstat (limited to 'lib/cli/build.js')
-rw-r--r-- | lib/cli/build.js | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/lib/cli/build.js b/lib/cli/build.js new file mode 100644 index 0000000..49931bd --- /dev/null +++ b/lib/cli/build.js @@ -0,0 +1,30 @@ +var path = require('path'); + +var options = require('./options'); +var getBook = require('./getBook'); + +var Parse = require('../parse'); +var Output = require('../output'); + +module.exports = { + name: 'build [book] [output]', + description: 'build a book', + options: [ + options.log, + options.format + ], + exec: function(args, kwargs) { + var book = getBook(args, kwargs); + var Generator = Output.getGenerator(kwargs.format); + + return Parse.parseBook(book) + .then(function(resultBook) { + var defaultOutputRoot = path.join(resultBook.getRoot(), '_book'); + var outputFolder = args[1]? path.resolve(process.cwd(), args[1]) : defaultOutputRoot; + + return Output.generate(Generator, resultBook, { + root: outputFolder + }); + }); + } +}; |