diff options
Diffstat (limited to 'lib/cli/build.js')
-rw-r--r-- | lib/cli/build.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/lib/cli/build.js b/lib/cli/build.js new file mode 100644 index 0000000..023901e --- /dev/null +++ b/lib/cli/build.js @@ -0,0 +1,34 @@ +var Parse = require('../parse'); +var Output = require('../output'); +var timing = require('../utils/timing'); + +var options = require('./options'); +var getBook = require('./getBook'); +var getOutputFolder = require('./getOutputFolder'); + + +module.exports = { + name: 'build [book] [output]', + description: 'build a book', + options: [ + options.log, + options.format, + options.timing + ], + exec: function(args, kwargs) { + var book = getBook(args, kwargs); + var outputFolder = getOutputFolder(args); + + var Generator = Output.getGenerator(kwargs.format); + + return Parse.parseBook(book) + .then(function(resultBook) { + return Output.generate(Generator, resultBook, { + root: outputFolder + }); + }) + .fin(function() { + if (kwargs.timing) timing.dump(book.getLogger()); + }); + } +}; |