summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/generate/ebook/index.js20
1 files changed, 18 insertions, 2 deletions
diff --git a/lib/generate/ebook/index.js b/lib/generate/ebook/index.js
index 8d81bfc..4a69ca6 100644
--- a/lib/generate/ebook/index.js
+++ b/lib/generate/ebook/index.js
@@ -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) {