diff options
author | Samy Pessé <samypesse@gmail.com> | 2014-06-02 18:22:07 +0200 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2014-06-02 18:22:07 +0200 |
commit | 0ad0403d4112ba16886724d513d1a18e5f56d634 (patch) | |
tree | dbd53c1cf5e849c48fe04d47419c3bfddf824c41 /lib/generate | |
parent | 718692de3b4725caa41a7c2371acf634d149e5f7 (diff) | |
parent | 2515c1dd73911e238b6aa1a513fcfcf5f91e3082 (diff) | |
download | gitbook-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.js | 35 |
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(" "); |