diff options
author | Samy Pessé <samypesse@gmail.com> | 2016-04-29 15:08:54 +0200 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2016-04-29 15:08:54 +0200 |
commit | 0ed524bce508f3f9ebb475d06c662cad948e224a (patch) | |
tree | 79a22f2d07980184a8bbea03d358f91a1e203e26 /lib | |
parent | 94199af7b293b9c6f82a2e1c341587adee5b0792 (diff) | |
download | gitbook-0ed524bce508f3f9ebb475d06c662cad948e224a.zip gitbook-0ed524bce508f3f9ebb475d06c662cad948e224a.tar.gz gitbook-0ed524bce508f3f9ebb475d06c662cad948e224a.tar.bz2 |
Correctly setup configuration for plugins in multilingual books
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) { |