diff options
author | Samy Pessé <samypesse@gmail.com> | 2016-05-03 12:10:09 +0200 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2016-05-03 12:10:09 +0200 |
commit | c84eaa83dd3bf307d5cc35b01febb2b6cc6ffbab (patch) | |
tree | f65d81365e10ccd831455df300db3e8c4086a9a8 /lib/utils/images.js | |
parent | 6b17d08892828818216a260576c83b7203c2098f (diff) | |
parent | 74c3ff80cbc64eb4fb4252ca4cc08076d44c6be2 (diff) | |
download | gitbook-c84eaa83dd3bf307d5cc35b01febb2b6cc6ffbab.zip gitbook-c84eaa83dd3bf307d5cc35b01febb2b6cc6ffbab.tar.gz gitbook-c84eaa83dd3bf307d5cc35b01febb2b6cc6ffbab.tar.bz2 |
Merge pull request #1259 from GitbookIO/png-data-uri
Adding data-uri support for PNG Images in Books
Diffstat (limited to 'lib/utils/images.js')
-rw-r--r-- | lib/utils/images.js | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/lib/utils/images.js b/lib/utils/images.js index e387d6b..6d4b927 100644 --- a/lib/utils/images.js +++ b/lib/utils/images.js @@ -38,7 +38,23 @@ function convertSVGBufferToPNG(buf, dest) { }); } +// Converts a inline data: to png file +function convertInlinePNG(source, dest) { + if (!/^data\:image\/png/.test(source)) return Promise.reject(new Error('Source is not a PNG data-uri')); + + var base64data = source.split('data:image/png;base64,')[1]; + var buf = new Buffer(base64data, 'base64'); + + return fs.writeFile(dest, buf) + .then(function() { + if (fs.existsSync(dest)) return; + + throw new Error('Error converting '+source+' into '+dest); + }); +} + module.exports = { convertSVGToPNG: convertSVGToPNG, - convertSVGBufferToPNG: convertSVGBufferToPNG + convertSVGBufferToPNG: convertSVGBufferToPNG, + convertInlinePNG: convertInlinePNG };
\ No newline at end of file |