aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2017-05-14 13:39:33 +0100
committerMichael Williamson <mike@zwobble.org>2017-05-14 13:39:33 +0100
commit327b99803151111bcec37af0d2bc5df5baa3506b (patch)
tree6fddd7f45c42b3b123de5ec81ee56f4bcf537516 /lib
parentbdf33ea9172f3c32f42197135053e932f725fd91 (diff)
Extract data URI image converter to images module
Diffstat (limited to 'lib')
-rw-r--r--lib/document-to-html.js10
-rw-r--r--lib/images.js14
2 files changed, 13 insertions, 11 deletions
diff --git a/lib/document-to-html.js b/lib/document-to-html.js
index 3a30ed2..d56ad1d 100644
--- a/lib/document-to-html.js
+++ b/lib/document-to-html.js
@@ -181,14 +181,6 @@ function DocumentConversion(options, comments) {
}
}
- var defaultConvertImage = images.imgElement(function(element) {
- return element.read("base64").then(function(imageBuffer) {
- return {
- src: "data:" + element.contentType + ";base64," + imageBuffer
- };
- });
- });
-
function recoveringConvertImage(convertImage) {
return function(image, messages) {
return promises.attempt(function() {
@@ -362,7 +354,7 @@ function DocumentConversion(options, comments) {
},
"commentReference": convertCommentReference,
"comment": convertComment,
- "image": deferredConversion(recoveringConvertImage(options.convertImage || defaultConvertImage)),
+ "image": deferredConversion(recoveringConvertImage(options.convertImage || images.dataUri)),
"table": convertTable,
"tableRow": convertTableRow,
"tableCell": convertTableCell,
diff --git a/lib/images.js b/lib/images.js
index fef0ca3..c7d3ef5 100644
--- a/lib/images.js
+++ b/lib/images.js
@@ -3,7 +3,9 @@ var _ = require("underscore");
var promises = require("./promises");
var Html = require("./html");
-exports.imgElement = function(func) {
+exports.imgElement = imgElement;
+
+function imgElement(func) {
return function(element, messages) {
return promises.when(func(element)).then(function(result) {
var attributes = _.clone(result);
@@ -13,7 +15,15 @@ exports.imgElement = function(func) {
return [Html.freshElement("img", attributes)];
});
};
-};
+}
// Undocumented, but retained for backwards-compatibility with 0.3.x
exports.inline = exports.imgElement;
+
+exports.dataUri = imgElement(function(element) {
+ return element.read("base64").then(function(imageBuffer) {
+ return {
+ src: "data:" + element.contentType + ";base64," + imageBuffer
+ };
+ });
+});