mirror of
https://github.com/GitbookIO/gitbook.git
synced 2026-09-17 16:15:22 +00:00
37 lines
951 B
JavaScript
37 lines
951 B
JavaScript
var Promise = require('../utils/promise');
|
|
var generatePage = require('./generatePage');
|
|
|
|
/**
|
|
Output all pages using a generator
|
|
|
|
@param {Generator} generator
|
|
@param {Output} output
|
|
@return {Promise<Output>}
|
|
*/
|
|
function generatePages(generator, output) {
|
|
var pages = output.getPages();
|
|
var logger = output.getLogger();
|
|
|
|
// Is generator ignoring assets?
|
|
if (!generator.onPage) {
|
|
return Promise(output);
|
|
}
|
|
|
|
return Promise.reduce(pages, function(out, page) {
|
|
var file = page.getFile();
|
|
|
|
logger.debug.ln('generate page "' + file.getPath() + '"');
|
|
|
|
return generatePage(out, page)
|
|
.then(function(resultPage) {
|
|
return generator.onPage(out, resultPage);
|
|
})
|
|
.fail(function(err) {
|
|
logger.error.ln('error while generating page "' + file.getPath() + '":');
|
|
throw err;
|
|
});
|
|
}, output);
|
|
}
|
|
|
|
module.exports = generatePages;
|