diff options
author | Samy Pessé <samypesse@gmail.com> | 2016-04-27 15:12:18 +0200 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2016-04-27 15:12:18 +0200 |
commit | cc9fdd0032e8d0e6effe7ab7a4da71e8e7d11af5 (patch) | |
tree | 7cfb2b5ac7430c0b35a254a8eae3527b30a332fd /lib | |
parent | d585269228393a398cce6dae66d1ab63ea1d5d9b (diff) | |
download | gitbook-cc9fdd0032e8d0e6effe7ab7a4da71e8e7d11af5.zip gitbook-cc9fdd0032e8d0e6effe7ab7a4da71e8e7d11af5.tar.gz gitbook-cc9fdd0032e8d0e6effe7ab7a4da71e8e7d11af5.tar.bz2 |
Generate multilingual books
Diffstat (limited to 'lib')
-rw-r--r-- | lib/output/generateBook.js | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/output/generateBook.js b/lib/output/generateBook.js index 5138f88..cd20c8d 100644 --- a/lib/output/generateBook.js +++ b/lib/output/generateBook.js @@ -1,3 +1,4 @@ +var path = require('path'); var Immutable = require('immutable'); var Output = require('../models/output'); @@ -94,6 +95,21 @@ function generateBook(generator, book, options) { .then(generateAssets.bind(null, generator)) .then(generatePages.bind(null, generator)) + .tap(function(output) { + var book = output.getBook(); + var books = book.getBooks(); + var outputRoot = output.getRoot(); + + if (!book.isMultilingual()) { + return; + } + + return Promise.forEach(books, function(langBook, language) { + var langOptions = options.set('root', path.join(outputRoot, language)); + return generateBook(generator, langBook, langOptions); + }); + }) + .then(callHook.bind(null, 'finish:before', function(output) { |