diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/models/book.js | 3 | ||||
-rw-r--r-- | lib/output/generateBook.js | 6 | ||||
-rw-r--r-- | lib/output/preparePlugins.js | 14 |
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) { |