diff --git a/lib/index.coffee b/lib/index.coffee index d36a0d8b..4b9de3e9 100644 --- a/lib/index.coffee +++ b/lib/index.coffee @@ -138,16 +138,17 @@ class EPub $("img").each (index, elem)-> url = $(elem).attr("src") - if image = self.options.images.find((element) -> element.url == url) - id = image.id - extension = image.extension - else - id = uuid() - mediaType = mime.getType url.replace /\?.*/, "" - extension = mime.getExtension mediaType - dir = content.dir - self.options.images.push {id, url, dir, mediaType, extension} - $(elem).attr("src", "images/#{id}.#{extension}") + if url + if image = self.options.images.find((element) -> element.url == url) + id = image.id + extension = image.extension + else + id = uuid() + mediaType = mime.getType url.replace /\?.*/, "" + extension = mime.getExtension mediaType + dir = content.dir + self.options.images.push {id, url, dir, mediaType, extension} + $(elem).attr("src", "images/#{id}.#{extension}") content.data = $.xml() content diff --git a/lib/index.js b/lib/index.js index ebaa1310..45cc0ee9 100644 --- a/lib/index.js +++ b/lib/index.js @@ -163,19 +163,21 @@ $("img").each(function(index, elem) { var dir, extension, id, image, mediaType, url; url = $(elem).attr("src"); - if (image = self.options.images.find(function(element) { - return element.url === url; - })) { - id = image.id; - extension = image.extension; - } else { - id = uuid(); - mediaType = mime.getType(url.replace(/\?.*/, "")); - extension = mime.getExtension(mediaType); - dir = content.dir; - self.options.images.push({id, url, dir, mediaType, extension}); + if (url) { + if (image = self.options.images.find(function(element) { + return element.url === url; + })) { + id = image.id; + extension = image.extension; + } else { + id = uuid(); + mediaType = mime.getType(url.replace(/\?.*/, "")); + extension = mime.getExtension(mediaType); + dir = content.dir; + self.options.images.push({id, url, dir, mediaType, extension}); + } + return $(elem).attr("src", `images/${id}.${extension}`); } - return $(elem).attr("src", `images/${id}.${extension}`); }); content.data = $.xml(); return content;