summaryrefslogtreecommitdiffstats
path: root/lib/generate
diff options
context:
space:
mode:
Diffstat (limited to 'lib/generate')
-rw-r--r--lib/generate/index.js29
1 files changed, 19 insertions, 10 deletions
diff --git a/lib/generate/index.js b/lib/generate/index.js
index bbcec0b..c680436 100644
--- a/lib/generate/index.js
+++ b/lib/generate/index.js
@@ -25,13 +25,23 @@ var containsFiles = function(dir, files) {
.then(_.all);
};
+// TEst if generator exists
+var checkGenerator = function(options) {
+ if (!generators[options.generator]) {
+ return Q.reject(new Error("Invalid generator (availables are: "+_.keys(generators).join(", ")+")"));
+ }
+ return Q();
+};
// Create the generator and load plugins
var loadGenerator = function(options) {
- var generator = new generators[options.generator](options);
+ return checkGenerator()
+ .then(function() {
+ var generator = new generators[options.generator](options);
- return generator.loadPlugins()
- .then(_.constant(generator));
+ return generator.loadPlugins()
+ .then(_.constant(generator));
+ });
};
@@ -78,13 +88,8 @@ var generate = function(options) {
return Q.reject(new Error("Need option input (book input directory)"));
}
- // Ensure generator exists
- if (!generators[options.generator]) {
- return Q.reject(new Error("Invalid generator (availables are: "+_.keys(generators).join(", ")));
- }
-
// Check files to get folder type (book, multilanguage book or neither)
- return Q()
+ return checkGenerator(options)
// Read config file
.then(function() {
@@ -133,8 +138,12 @@ var generateMultiLang = function(options) {
var langsSummary;
options.output = options.output || path.join(options.input, "_book");
+ return checkGenerator(options)
+
// Multi-languages book
- return fs.readFile(path.join(options.input, "LANGS.md"), "utf-8")
+ .then(function() {
+ return fs.readFile(path.join(options.input, "LANGS.md"), "utf-8")
+ })
// Clean output folder
.then(function(_langsSummary) {