summaryrefslogtreecommitdiffstats
path: root/bin/gitbook.js
diff options
context:
space:
mode:
Diffstat (limited to 'bin/gitbook.js')
-rwxr-xr-xbin/gitbook.js24
1 files changed, 14 insertions, 10 deletions
diff --git a/bin/gitbook.js b/bin/gitbook.js
index 6e29986..3abeafd 100755
--- a/bin/gitbook.js
+++ b/bin/gitbook.js
@@ -1,6 +1,7 @@
#! /usr/bin/env node
// Requires
+var Q = require('q');
var _ = require('lodash');
var path = require('path');
var prog = require('commander');
@@ -10,9 +11,14 @@ var fs = require('fs');
var pkg = require('../package.json');
var generate = require("../lib/generate");
var parse = require("../lib/parse");
+var generators = require("../lib/generate").generators;
var utils = require('./utils');
+var logError = function(err) {
+ console.log(err.message || err);
+ return Q.reject(err);
+};
// General options
prog
@@ -25,6 +31,7 @@ prog
.command('build [source_dir]')
.description('Build a gitbook from a directory')
.option('-o, --output <directory>', 'Path to output directory, defaults to ./_book')
+.option('-g, --generator <name>', 'Change generator, defaults to site, availables are: '+_.keys(generators).join(", "))
.option('-t, --title <name>', 'Name of the book to generate, defaults to repo name')
.option('-i, --intro <intro>', 'Description of the book to generate')
.option('-g, --github <repo_path>', 'ID of github repo like : username/repo')
@@ -55,20 +62,19 @@ prog
var title = options.title || utils.titleCase(repo);
return generate.folder(
- dir,
- outputDir,
{
+ input: dir,
+ output: outputDir,
title: title,
description: options.intro,
- github: githubID
+ github: githubID,
+ generator: options.generator
}
);
})
.then(function(output) {
console.log("Successfuly built !");
- }, function(err) {
- throw err;
- })
+ }, logError)
.then(_.constant(outputDir));
});
@@ -85,15 +91,13 @@ prog
.then(function(outputDir) {
console.log();
console.log('Starting server ...');
- return utils.serveDir(outputDir, options.port);
+ return utils.serveDir(outputDir, options.port)
+ .fail(logError);
})
.then(function() {
console.log('Serving book on http://localhost:'+options.port);
console.log();
console.log('Press CTRL+C to quit ...');
- })
- .fail(function(err) {
- console.error(err);
});
});