diff options
author | Samy Pessé <samypesse@gmail.com> | 2016-04-29 16:50:50 +0200 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2016-04-29 16:50:50 +0200 |
commit | 98f70879bde88d32e898ff057f4dc7ceaff7e25e (patch) | |
tree | 557e0948683cd985fdcc50519f693ca07a2a972c /lib/output/ebook/getPDFTemplate.js | |
parent | ceb4627f4e700b0e8058fae6760dbf9bb2ca7333 (diff) | |
download | gitbook-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.js | 42 |
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; |