summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/models/book.js3
-rw-r--r--lib/output/generateBook.js6
-rw-r--r--lib/output/preparePlugins.js14
3 files changed, 20 insertions, 3 deletions
diff --git a/lib/models/book.js b/lib/models/book.js
index 8f8ab74..693e830 100644
--- a/lib/models/book.js
+++ b/lib/models/book.js
@@ -245,8 +245,11 @@ Book.createFromParent = function createFromParent(parent, language) {
var ignore = parent.getIgnore();
return new Book({
+ // Inherits config. logegr and list of ignored files
logger: parent.getLogger(),
+ config: parent.getConfig(),
ignore: Ignore().add(ignore),
+
language: language,
fs: FS.reduceScope(parent.getContentFS(), language)
});
diff --git a/lib/output/generateBook.js b/lib/output/generateBook.js
index c5d61f8..4e64eb0 100644
--- a/lib/output/generateBook.js
+++ b/lib/output/generateBook.js
@@ -156,8 +156,7 @@ function generateBook(generator, book, options) {
var state = generator.State? generator.State({}) : Immutable.Map();
var start = Date.now();
- return processOutput(
- generator,
+ return Promise(
new Output({
book: book,
options: options,
@@ -165,6 +164,9 @@ function generateBook(generator, book, options) {
generator: generator.name
})
)
+ .then(processOutput.bind(null, generator))
+
+ // Log duration and end message
.then(function(output) {
var logger = output.getLogger();
var end = Date.now();
diff --git a/lib/output/preparePlugins.js b/lib/output/preparePlugins.js
index 5768e68..54837ed 100644
--- a/lib/output/preparePlugins.js
+++ b/lib/output/preparePlugins.js
@@ -1,4 +1,5 @@
var Plugins = require('../plugins');
+var Promise = require('../utils/promise');
/**
Load and setup plugins
@@ -9,7 +10,18 @@ var Plugins = require('../plugins');
function preparePlugins(output) {
var book = output.getBook();
- return Plugins.loadForBook(book)
+ return Promise()
+
+ // Only load plugins for main book
+ .then(function() {
+ if (book.isLanguageBook()) {
+ return output.getPlugins();
+ } else {
+ return Plugins.loadForBook(book);
+ }
+ })
+
+ // Update book's configuration using the plugins
.then(function(plugins) {
return Plugins.validateConfig(book, plugins)
.then(function(newBook) {