summaryrefslogtreecommitdiffstats
path: root/lib/output/ebook/getPDFTemplate.js
diff options
context:
space:
mode:
authorSamy Pessé <samypesse@gmail.com>2016-04-29 16:50:50 +0200
committerSamy Pessé <samypesse@gmail.com>2016-04-29 16:50:50 +0200
commit98f70879bde88d32e898ff057f4dc7ceaff7e25e (patch)
tree557e0948683cd985fdcc50519f693ca07a2a972c /lib/output/ebook/getPDFTemplate.js
parentceb4627f4e700b0e8058fae6760dbf9bb2ca7333 (diff)
downloadgitbook-98f70879bde88d32e898ff057f4dc7ceaff7e25e.zip
gitbook-98f70879bde88d32e898ff057f4dc7ceaff7e25e.tar.gz
gitbook-98f70879bde88d32e898ff057f4dc7ceaff7e25e.tar.bz2
Complete ebook generation using ebook-convert
Diffstat (limited to 'lib/output/ebook/getPDFTemplate.js')
-rw-r--r--lib/output/ebook/getPDFTemplate.js42
1 files changed, 42 insertions, 0 deletions
diff --git a/lib/output/ebook/getPDFTemplate.js b/lib/output/ebook/getPDFTemplate.js
new file mode 100644
index 0000000..f7a450d
--- /dev/null
+++ b/lib/output/ebook/getPDFTemplate.js
@@ -0,0 +1,42 @@
+var juice = require('juice');
+
+var WebsiteGenerator = require('../website');
+var JSONUtils = require('../../json');
+var Templating = require('../../templating');
+var Promise = require('../../utils/promise');
+
+
+/**
+ Generate PDF header/footer templates
+
+ @param {Output} output
+ @param {String} type
+ @return {String}
+*/
+function getPDFTemplate(output, type) {
+ var filePath = 'pdf_' + type + '.html';
+ var outputRoot = output.getRoot();
+ var engine = WebsiteGenerator.createTemplateEngine(output, filePath);
+
+ // Generate context
+ var context = JSONUtils.encodeOutput(output);
+ context.page = {
+ num: '_PAGENUM_',
+ title: '_TITLE_',
+ section: '_SECTION_'
+ };
+
+ // Render the theme
+ return Templating.renderFile(engine, 'ebook/' + filePath, context)
+
+ // Inline css and assets
+ .then(function(html) {
+ return Promise.nfcall(juice.juiceResources, html, {
+ webResources: {
+ relativeTo: outputRoot
+ }
+ });
+ });
+}
+
+module.exports = getPDFTemplate;