Add option cover for ebook generation

This commit is contained in:
Samy Pessé
2014-04-06 21:46:11 -07:00
parent 4b64c87011
commit 9fe80b878e
+18 -2
View File
@@ -4,7 +4,7 @@ var Q = require("q");
var _ = require("lodash");
var exec = require('child_process').exec;
var fs = require("../fs");
var fs = require("fs");
var parse = require("../../parse");
var BaseGenerator = require("../page");
@@ -19,6 +19,10 @@ var Generator = function() {
this.options = _.defaults(this.options, {
extension: "epub"
});
if (!this.options.cover && fs.existsSync(path.join(this.options.input, "cover.png"))) {
this.options.cover = path.join(this.options.input, "cover.png")
}
};
util.inherits(Generator, BaseGenerator);
@@ -29,10 +33,22 @@ Generator.prototype.finish = function() {
.then(function() {
var d = Q.defer();
var _options = {
"--cover": that.options.cover
};
var command = [
"ebook-convert",
path.join(that.options.output, "index.html"),
path.join(that.options.output, "index."+that.options.extension)
path.join(that.options.output, "index."+that.options.extension),
_.chain(_options)
.map(function(value, key) {
if (value == null) return null;
return key+"="+value;
})
.compact()
.value()
.join(" ")
].join(" ");
exec(command, function (error, stdout, stderr) {