blob: 73c5c095047e00fd62503208b2051e004699ab54 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
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;
|