summaryrefslogtreecommitdiffstats
path: root/lib/generate
diff options
context:
space:
mode:
authorSamy Pessé <samypesse@gmail.com>2014-06-02 18:22:07 +0200
committerSamy Pessé <samypesse@gmail.com>2014-06-02 18:22:07 +0200
commit0ad0403d4112ba16886724d513d1a18e5f56d634 (patch)
treedbd53c1cf5e849c48fe04d47419c3bfddf824c41 /lib/generate
parent718692de3b4725caa41a7c2371acf634d149e5f7 (diff)
parent2515c1dd73911e238b6aa1a513fcfcf5f91e3082 (diff)
downloadgitbook-0ad0403d4112ba16886724d513d1a18e5f56d634.zip
gitbook-0ad0403d4112ba16886724d513d1a18e5f56d634.tar.gz
gitbook-0ad0403d4112ba16886724d513d1a18e5f56d634.tar.bz2
Merge pull request #283 from GitbookIO/feature/pdfoptions
Add more options for PDF
Diffstat (limited to 'lib/generate')
-rw-r--r--lib/generate/ebook/index.js35
1 files changed, 21 insertions, 14 deletions
diff --git a/lib/generate/ebook/index.js b/lib/generate/ebook/index.js
index 0c5a664..cec0909 100644
--- a/lib/generate/ebook/index.js
+++ b/lib/generate/ebook/index.js
@@ -15,11 +15,6 @@ var stringUtils = require("../../utils/string");
*/
var Generator = function() {
BaseGenerator.apply(this, arguments);
-
- // Options for eBook generation
- this.options = _.defaults(this.options, {
- extension: "epub"
- });
};
util.inherits(Generator, BaseGenerator);
@@ -29,7 +24,7 @@ Generator.prototype.finish = function() {
return BaseGenerator.prototype.finish.apply(this)
.then(function() {
var d = Q.defer();
- var format = that.options.extension || path.extname(that.options.output);
+ var format = that.options.extension || path.extname(that.options.output).replace("\.", "") || "pdf";
if (!that.options.cover && fs.existsSync(path.join(that.options.output, "cover.jpg"))) {
that.options.cover = path.join(that.options.output, "cover.jpg");
@@ -46,21 +41,33 @@ Generator.prototype.finish = function() {
};
if (format == "pdf") {
+ var pdfOptions = _.defaults(that.options.pdf || {}, {
+ "fontSize": 12,
+ "toc": true,
+ "paperSize": "a4",
+ "margin": {
+ "right": 62,
+ "left": 62,
+ "top": 36,
+ "bottom": 36
+ }
+ });
+
_.extend(_options, {
- "--margin-left": "62",
- "--margin-right": "62",
- "--margin-top": "36",
- "--margin-bottom": "36",
- "--pdf-add-toc": true,
- "--pdf-default-font-size": "12",
- "--paper-size": "a4",
+ "--margin-left": String(pdfOptions.margin.left),
+ "--margin-right": String(pdfOptions.margin.right),
+ "--margin-top": String(pdfOptions.margin.top),
+ "--margin-bottom": String(pdfOptions.margin.bottom),
+ "--pdf-add-toc": Boolean(pdfOptions.toc),
+ "--pdf-default-font-size": String(pdfOptions.fontSize),
+ "--paper-size": String(pdfOptions.paperSize),
});
}
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."+format),
stringUtils.optionsToShellArgs(_options)
].join(" ");