summaryrefslogtreecommitdiffstats
path: root/lib/cli/build.js
blob: 023901e2a6f71a51e195c5473ffdd6314d7c3d0d (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
31
32
33
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());
        });
    }
};