summaryrefslogtreecommitdiffstats
path: root/lib/utils/images.js
diff options
context:
space:
mode:
authorSamy Pessé <samypesse@gmail.com>2015-03-09 10:43:12 +0100
committerSamy Pessé <samypesse@gmail.com>2015-03-09 10:43:12 +0100
commit34fc2831e0cf0fed01c71cec28d93472d87f455b (patch)
treea803cc907c20491ba02863b5d3dd5aedf6bfed10 /lib/utils/images.js
parente1594cde2c32e4ff48f6c4eff3d3d461743d74e1 (diff)
parent1bf68a5aa0703b5a1815cfe4ebb731b5fb6ed9d2 (diff)
downloadgitbook-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.js39
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"]
+};