summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorSamy Pessé <samypesse@gmail.com>2016-04-27 15:12:18 +0200
committerSamy Pessé <samypesse@gmail.com>2016-04-27 15:12:18 +0200
commitcc9fdd0032e8d0e6effe7ab7a4da71e8e7d11af5 (patch)
tree7cfb2b5ac7430c0b35a254a8eae3527b30a332fd /lib
parentd585269228393a398cce6dae66d1ab63ea1d5d9b (diff)
downloadgitbook-cc9fdd0032e8d0e6effe7ab7a4da71e8e7d11af5.zip
gitbook-cc9fdd0032e8d0e6effe7ab7a4da71e8e7d11af5.tar.gz
gitbook-cc9fdd0032e8d0e6effe7ab7a4da71e8e7d11af5.tar.bz2
Generate multilingual books
Diffstat (limited to 'lib')
-rw-r--r--lib/output/generateBook.js16
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) {