Skip to content

Commit 0312094

Browse files
committed
Preparatory Refactoring: Load all pages before starting the rendering
1 parent 943282a commit 0312094

File tree

2 files changed

+11
-6
lines changed

2 files changed

+11
-6
lines changed

lib/page_renderer.js

-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ module.exports = class PageRenderer {
1111
}
1212

1313
async render(page) {
14-
await page.load();
1514
let parsed = this.reader.parse(page.body);
1615
let { html, snippets } = this.writer.render(parsed);
1716
this.snippets = this.snippets.concat(snippets.map(snippet =>

lib/site.js

+11-5
Original file line numberDiff line numberDiff line change
@@ -56,11 +56,8 @@ module.exports = class Site {
5656
tree = await this.load();
5757
}
5858

59-
let layout = generateLayout(tree, this.assetManager.manifest);
60-
let pageRenderer = new PageRenderer({ renderers, layout });
61-
6259
let dirs = new Set();
63-
let writes = tree.map(async page => {
60+
let preperations = tree.map(async page => {
6461
let filepath = path.resolve(this.target, page.slug);
6562
if(filepaths && !filepaths.has(filepath)) {
6663
return;
@@ -73,10 +70,19 @@ module.exports = class Site {
7370

7471
page.filepath = filepath;
7572

73+
return page.load();
74+
});
75+
76+
await Promise.all(preperations);
77+
78+
let layout = generateLayout(tree, this.assetManager.manifest);
79+
let pageRenderer = new PageRenderer({ renderers, layout });
80+
81+
let writes = tree.map(async page => {
7682
let html = await pageRenderer.render(page);
7783

7884
// TODO: Report errors if something goes wrong
79-
return this.writeFile(`${filepath}/index.html`, `${html}\n`);
85+
return this.writeFile(`${page.filepath}/index.html`, `${html}\n`);
8086
});
8187

8288
await Promise.all(writes);

0 commit comments

Comments
 (0)