summaryrefslogtreecommitdiffstats
path: root/lib/generate/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/generate/index.js')
-rw-r--r--lib/generate/index.js36
1 files changed, 16 insertions, 20 deletions
diff --git a/lib/generate/index.js b/lib/generate/index.js
index 2118c46..de1fc0e 100644
--- a/lib/generate/index.js
+++ b/lib/generate/index.js
@@ -48,28 +48,18 @@ var loadGenerator = function(options) {
var generate = function(options) {
- // Set defaults to options
- options = defaultConfig.defaults(options);
-
- // Validate options
- if (!options.input) {
- return Q.reject(new Error("Need option input (book input directory)"));
- }
-
- // Check files to get folder type (book, multilanguage book or neither)
- return checkGenerator(options)
-
// Read config file
- .then(function() {
- try {
- var _config = require(path.resolve(options.input, options.configFile));
+ return defaultConfig.read(options)
+ .then(function(_options) {
+ options = _options;
- options = _.merge(options, _.omit(_config, 'input', 'configFile', 'defaultsPlugins'));
- }
- catch(err) {
- // No config file: not a big deal
- return Q();
+ // Validate options
+ if (!options.input) {
+ return Q.reject(new Error("Need option input (book input directory)"));
}
+
+ // Check files to get folder type (book, multilanguage book or neither)
+ return checkGenerator(options);
})
// Read readme
@@ -99,7 +89,9 @@ var generate = function(options) {
});
};
-
+/*
+ * Generate a multilanguage book by generating a book for each folder.
+ */
var generateMultiLang = function(options) {
var langsSummary;
options.output = options.output || path.join(options.input, "_book");
@@ -298,6 +290,9 @@ var generateBook = function(options) {
// Finish generation
.then(function() {
+ return generator.callHook("finish:before");
+ })
+ .then(function() {
return generator.finish();
})
.then(function() {
@@ -375,4 +370,5 @@ module.exports = {
file: generateFile,
book: generateBook,
Plugin: Plugin,
+ config: defaultConfig
};