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/parsePagesList.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/parsePagesList.js')
-rw-r--r-- | lib/parse/parsePagesList.js | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/lib/parse/parsePagesList.js b/lib/parse/parsePagesList.js deleted file mode 100644 index fa15a9d..0000000 --- a/lib/parse/parsePagesList.js +++ /dev/null @@ -1,97 +0,0 @@ -var Immutable = require('immutable'); - -var timing = require('../utils/timing'); -var Page = require('../models/page'); -var walkSummary = require('./walkSummary'); -var parsePage = require('./parsePage'); - - -/** - Parse a page from a path - - @param {Book} book - @param {String} filePath - @return {Page?} -*/ -function parseFilePage(book, filePath) { - var fs = book.getContentFS(); - - return fs.statFile(filePath) - .then( - function(file) { - var page = Page.createForFile(file); - return parsePage(book, page); - }, - function(err) { - // file doesn't exist - return null; - } - ) - .fail(function(err) { - var logger = book.getLogger(); - logger.error.ln('error while parsing page "' + filePath + '":'); - throw err; - }); -} - - -/** - Parse all pages from a book as an OrderedMap - - @param {Book} book - @return {Promise<OrderedMap<Page>>} -*/ -function parsePagesList(book) { - var summary = book.getSummary(); - var glossary = book.getGlossary(); - var map = Immutable.OrderedMap(); - - // Parse pages from summary - return timing.measure( - 'parse.listPages', - walkSummary(summary, function(article) { - if (!article.isPage()) return; - - var filepath = article.getPath(); - - // Is the page ignored? - if (book.isContentFileIgnored(filepath)) return; - - return parseFilePage(book, filepath) - .then(function(page) { - // file doesn't exist - if (!page) { - return; - } - - map = map.set(filepath, page); - }); - }) - ) - - // Parse glossary - .then(function() { - var file = glossary.getFile(); - - if (!file.exists()) { - return; - } - - return parseFilePage(book, file.getPath()) - .then(function(page) { - // file doesn't exist - if (!page) { - return; - } - - map = map.set(file.getPath(), page); - }); - }) - - .then(function() { - return map; - }); -} - - -module.exports = parsePagesList; |