diff options
author | Samy Pessé <samypesse@gmail.com> | 2016-12-22 10:18:38 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-12-22 10:18:38 +0100 |
commit | 194ebc3da9641ff96f083f9d8ab43c2d27944f9a (patch) | |
tree | c50988f32ccf18df93ae7ab40be78e9459642818 /lib/parse/parseBook.js | |
parent | 64ccb6b00b4b63fa0e516d4e35351275b34f8c07 (diff) | |
parent | 16af264360e48e8a833e9efa9ab8d194574dbc70 (diff) | |
download | gitbook-194ebc3da9641ff96f083f9d8ab43c2d27944f9a.zip gitbook-194ebc3da9641ff96f083f9d8ab43c2d27944f9a.tar.gz gitbook-194ebc3da9641ff96f083f9d8ab43c2d27944f9a.tar.bz2 |
Merge pull request #1543 from GitbookIO/dream
React for rendering website with plugins
Diffstat (limited to 'lib/parse/parseBook.js')
-rw-r--r-- | lib/parse/parseBook.js | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/lib/parse/parseBook.js b/lib/parse/parseBook.js deleted file mode 100644 index a92f39e..0000000 --- a/lib/parse/parseBook.js +++ /dev/null @@ -1,77 +0,0 @@ -var Promise = require('../utils/promise'); -var timing = require('../utils/timing'); -var Book = require('../models/book'); - -var parseIgnore = require('./parseIgnore'); -var parseConfig = require('./parseConfig'); -var parseGlossary = require('./parseGlossary'); -var parseSummary = require('./parseSummary'); -var parseReadme = require('./parseReadme'); -var parseLanguages = require('./parseLanguages'); - -/** - Parse content of a book - - @param {Book} book - @return {Promise<Book>} -*/ -function parseBookContent(book) { - return Promise(book) - .then(parseReadme) - .then(parseSummary) - .then(parseGlossary); -} - -/** - Parse a multilingual book - - @param {Book} book - @return {Promise<Book>} -*/ -function parseMultilingualBook(book) { - var languages = book.getLanguages(); - var langList = languages.getList(); - - return Promise.reduce(langList, function(currentBook, lang) { - var langID = lang.getID(); - var child = Book.createFromParent(currentBook, langID); - var ignore = currentBook.getIgnore(); - - return Promise(child) - .then(parseConfig) - .then(parseBookContent) - .then(function(result) { - // Ignore content of this book when generating parent book - ignore = ignore.add(langID + '/**'); - currentBook = currentBook.set('ignore', ignore); - - return currentBook.addLanguageBook(langID, result); - }); - }, book); -} - - -/** - Parse a whole book from a filesystem - - @param {Book} book - @return {Promise<Book>} -*/ -function parseBook(book) { - return timing.measure( - 'parse.book', - Promise(book) - .then(parseIgnore) - .then(parseConfig) - .then(parseLanguages) - .then(function(resultBook) { - if (resultBook.isMultilingual()) { - return parseMultilingualBook(resultBook); - } else { - return parseBookContent(resultBook); - } - }) - ); -} - -module.exports = parseBook; |