diff options
author | Samy Pessé <samypesse@gmail.com> | 2016-04-29 15:09:11 +0200 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2016-04-29 15:09:11 +0200 |
commit | 07a5daefb025868ecf41054713a18d50e01511c0 (patch) | |
tree | 1a90b356589c0e23797ce8a06a33ae06596e75ab /lib/output/ebook | |
parent | 0ed524bce508f3f9ebb475d06c662cad948e224a (diff) | |
download | gitbook-07a5daefb025868ecf41054713a18d50e01511c0.zip gitbook-07a5daefb025868ecf41054713a18d50e01511c0.tar.gz gitbook-07a5daefb025868ecf41054713a18d50e01511c0.tar.bz2 |
Generate SUMMARY.html for ebook output
Diffstat (limited to 'lib/output/ebook')
-rw-r--r-- | lib/output/ebook/index.js | 4 | ||||
-rw-r--r-- | lib/output/ebook/onFinish.js | 25 | ||||
-rw-r--r-- | lib/output/ebook/onInit.js | 4 | ||||
-rw-r--r-- | lib/output/ebook/onPage.js | 4 |
4 files changed, 23 insertions, 14 deletions
diff --git a/lib/output/ebook/index.js b/lib/output/ebook/index.js index 3aaa7e7..344a6c5 100644 --- a/lib/output/ebook/index.js +++ b/lib/output/ebook/index.js @@ -1,7 +1,7 @@ var extend = require('extend'); -var websiteGenerator = require('../website'); +var WebsiteGenerator = require('../website'); -module.exports = extend({}, websiteGenerator, { +module.exports = extend({}, WebsiteGenerator, { name: 'ebook', onInit: require('./onInit'), onPage: require('./onPage'), diff --git a/lib/output/ebook/onFinish.js b/lib/output/ebook/onFinish.js index 81fa45d..e82f679 100644 --- a/lib/output/ebook/onFinish.js +++ b/lib/output/ebook/onFinish.js @@ -1,20 +1,29 @@ -var websiteGenerator = require('../website'); +var WebsiteGenerator = require('../website'); +var JSONUtils = require('../../json'); +var Templating = require('../../templating'); +var writeFile = require('../helper/writeFile'); /** - Finish the generation, generate the ebook file using ebook-convert + Finish the generation, generates the SUMMARY.html @param {Output} @return {Output} */ function onFinish(output) { - return websiteGenerator.onFinish(output) - .then(function(resultOutput) { + var book = output.getBook(); + var options = output.getOptions(); + var prefix = options.get('prefix'); - // todo: - // - render SUMMARY.html - // - Build ebook using ebook-convert + var filePath = 'SUMMARY.html'; + var engine = WebsiteGenerator.createTemplateEngine(output, filePath); + var context = JSONUtils.encodeOutput(output); - return resultOutput; + // Render the theme + return Templating.renderFile(engine, prefix + '/SUMMARY.html', context) + + // Write it to the disk + .then(function(html) { + return writeFile(output, filePath, html); }); } diff --git a/lib/output/ebook/onInit.js b/lib/output/ebook/onInit.js index 9cee141..402e318 100644 --- a/lib/output/ebook/onInit.js +++ b/lib/output/ebook/onInit.js @@ -1,4 +1,4 @@ -var websiteGenerator = require('../website'); +var WebsiteGenerator = require('../website'); /** Initialize the generator @@ -7,7 +7,7 @@ var websiteGenerator = require('../website'); @return {Output} */ function onInit(output) { - return websiteGenerator.onInit(output) + return WebsiteGenerator.onInit(output) .then(function(resultOutput) { var options = resultOutput.getOptions(); diff --git a/lib/output/ebook/onPage.js b/lib/output/ebook/onPage.js index 13edf17..21fd34c 100644 --- a/lib/output/ebook/onPage.js +++ b/lib/output/ebook/onPage.js @@ -1,4 +1,4 @@ -var website = require('../website'); +var WebsiteGenerator = require('../website'); var Modifiers = require('../modifiers'); /** @@ -17,7 +17,7 @@ function onPage(output, page) { // Write page using website generator .then(function(resultPage) { - return website.onPage(output, resultPage); + return WebsiteGenerator.onPage(output, resultPage); }); } |