diff options
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"] +}; |