summaryrefslogtreecommitdiffstats
path: root/lib/cli/build.js
blob: 49931bdf208e6f9039e0c738829be232aaa88cb8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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
            });
        });
    }
};