summaryrefslogtreecommitdiffstats
path: root/lib/output
diff options
context:
space:
mode:
authorSamy Pessé <samypesse@gmail.com>2016-04-25 11:58:55 +0200
committerSamy Pessé <samypesse@gmail.com>2016-04-25 11:58:55 +0200
commitf6e123f1ed36019a2ec5da1f97b27d22352b689a (patch)
tree326670b5cf1ff0cbdfbcd35d53f12fb858f874b2 /lib/output
parente1e4e7f01177d968e63f0b3a1830eda1adacb56b (diff)
downloadgitbook-f6e123f1ed36019a2ec5da1f97b27d22352b689a.zip
gitbook-f6e123f1ed36019a2ec5da1f97b27d22352b689a.tar.gz
gitbook-f6e123f1ed36019a2ec5da1f97b27d22352b689a.tar.bz2
Add base rendering for template
Diffstat (limited to 'lib/output')
-rw-r--r--lib/output/createTemplateEngine.js2
-rw-r--r--lib/output/generatePage.js16
2 files changed, 15 insertions, 3 deletions
diff --git a/lib/output/createTemplateEngine.js b/lib/output/createTemplateEngine.js
index 27dbeba..fbf39d3 100644
--- a/lib/output/createTemplateEngine.js
+++ b/lib/output/createTemplateEngine.js
@@ -25,7 +25,7 @@ function createTemplateEngine(output) {
.map(function(plugin) {
return plugin.getBlocks();
})
- .flatten();
+ .flatten(1);
// Extend with default
blocks = defaultBlocks.concat(blocks);
diff --git a/lib/output/generatePage.js b/lib/output/generatePage.js
index 6fe0514..072c327 100644
--- a/lib/output/generatePage.js
+++ b/lib/output/generatePage.js
@@ -2,6 +2,7 @@ var Promise = require('../utils/promise');
var error = require('../utils/error');
var Parse = require('../parse');
+var createTemplateEngine = require('./createTemplateEngine');
/**
Prepare and generate HTML for a page
@@ -26,9 +27,20 @@ function generatePage(output, page) {
}
return Promise(resultPage.getContent())
+
+ // Escape code blocks with raw tags
.then(parser.page.prepare)
- .then(parser.page)
- .get('content')
+
+ // Render templating syntax
+ .then(function(content) {
+ var engine = createTemplateEngine(output);
+ return engine.render(filePath, content);
+ })
+
+ // Render page using parser (markdown -> HTML)
+ .then(parser.page).get('content')
+
+ // Return new page
.then(function(content) {
return resultPage.set('content', content);
});