diff options
Diffstat (limited to 'lib/output/ebook/onFinish.js')
-rw-r--r-- | lib/output/ebook/onFinish.js | 91 |
1 files changed, 0 insertions, 91 deletions
diff --git a/lib/output/ebook/onFinish.js b/lib/output/ebook/onFinish.js deleted file mode 100644 index 7f21548..0000000 --- a/lib/output/ebook/onFinish.js +++ /dev/null @@ -1,91 +0,0 @@ -var path = require('path'); - -var WebsiteGenerator = require('../website'); -var JSONUtils = require('../../json'); -var Templating = require('../../templating'); -var Promise = require('../../utils/promise'); -var error = require('../../utils/error'); -var command = require('../../utils/command'); -var writeFile = require('../helper/writeFile'); - -var getConvertOptions = require('./getConvertOptions'); -var SUMMARY_FILE = 'SUMMARY.html'; - -/** - Write the SUMMARY.html - - @param {Output} - @return {Output} -*/ -function writeSummary(output) { - var options = output.getOptions(); - var prefix = options.get('prefix'); - - var filePath = SUMMARY_FILE; - var engine = WebsiteGenerator.createTemplateEngine(output, filePath); - var context = JSONUtils.encodeOutput(output); - - // Render the theme - return Templating.renderFile(engine, prefix + '/summary.html', context) - - // Write it to the disk - .then(function(tplOut) { - return writeFile(output, filePath, tplOut.getContent()); - }); -} - -/** - Generate the ebook file as "index.pdf" - - @param {Output} - @return {Output} -*/ -function runEbookConvert(output) { - var logger = output.getLogger(); - var options = output.getOptions(); - var format = options.get('format'); - var outputFolder = output.getRoot(); - - if (!format) { - return Promise(output); - } - - return getConvertOptions(output) - .then(function(options) { - var cmd = [ - 'ebook-convert', - path.resolve(outputFolder, SUMMARY_FILE), - path.resolve(outputFolder, 'index.' + format), - command.optionsToShellArgs(options) - ].join(' '); - - return command.exec(cmd) - .progress(function(data) { - logger.debug(data); - }) - .fail(function(err) { - if (err.code == 127) { - throw error.RequireInstallError({ - cmd: 'ebook-convert', - install: 'Install it from Calibre: https://calibre-ebook.com' - }); - } - - throw error.EbookError(err); - }); - }) - .thenResolve(output); -} - -/** - Finish the generation, generates the SUMMARY.html - - @param {Output} - @return {Output} -*/ -function onFinish(output) { - return writeSummary(output) - .then(runEbookConvert); -} - -module.exports = onFinish; |