diff options
author | Samy Pessé <samypesse@gmail.com> | 2015-03-09 10:43:12 +0100 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2015-03-09 10:43:12 +0100 |
commit | 34fc2831e0cf0fed01c71cec28d93472d87f455b (patch) | |
tree | a803cc907c20491ba02863b5d3dd5aedf6bfed10 /lib/utils/images.js | |
parent | e1594cde2c32e4ff48f6c4eff3d3d461743d74e1 (diff) | |
parent | 1bf68a5aa0703b5a1815cfe4ebb731b5fb6ed9d2 (diff) | |
download | gitbook-34fc2831e0cf0fed01c71cec28d93472d87f455b.zip gitbook-34fc2831e0cf0fed01c71cec28d93472d87f455b.tar.gz gitbook-34fc2831e0cf0fed01c71cec28d93472d87f455b.tar.bz2 |
Merge branch 'version/2.0'
Diffstat (limited to 'lib/utils/images.js')
-rw-r--r-- | lib/utils/images.js | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/lib/utils/images.js b/lib/utils/images.js new file mode 100644 index 0000000..f1302c3 --- /dev/null +++ b/lib/utils/images.js @@ -0,0 +1,39 @@ +var _ = require("lodash"); +var Q = require("q"); +var fs = require("./fs"); +var shellescape = require('shell-escape'); +var exec = require('child_process').exec; + +var links = require("./links"); + +// Convert a svg file +var convertSVG = function(source, dest, options) { + if (!fs.existsSync(source)) return Q.reject(new Error("File doesn't exist: "+source)); + + var d = Q.defer(); + + options = _.defaults(options || {}, { + + }); + + var command = shellescape(['svgexport', source, dest]); + + var child = exec(command, function (error, stdout, stderr) { + if (error) { + if (error.code == 127) error = new Error("Need to install 'svgexport' using 'npm install svgexport -g'"); + return d.reject(error); + } + if (fs.existsSync(dest)) { + d.resolve(); + } else { + d.reject(new Error("Error converting "+source)); + } + }); + + return d.promise; +}; + +module.exports = { + convertSVG: convertSVG, + INVALID: [".svg"] +}; |