diff options
author | Samy Pessé <samypesse@gmail.com> | 2016-09-05 11:04:18 +0200 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2016-09-05 11:04:18 +0200 |
commit | a14ca3e268e95a7eab59fb205b41da7331d57631 (patch) | |
tree | 9c84b2cbd561345335fca3e26af961b2ea23d8ec /lib/parse/parseBook.js | |
parent | 9c071dade573aa6990878006f83c89b6065a1395 (diff) | |
download | gitbook-a14ca3e268e95a7eab59fb205b41da7331d57631.zip gitbook-a14ca3e268e95a7eab59fb205b41da7331d57631.tar.gz gitbook-a14ca3e268e95a7eab59fb205b41da7331d57631.tar.bz2 |
Switch to lerna
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; |