diff --git a/index.js b/index.js index d61a233c..8d7e3530 100644 --- a/index.js +++ b/index.js @@ -1,4 +1,4 @@ -// Generated by CoffeeScript 2.2.2 +// Generated by CoffeeScript 2.3.0 (function() { module.exports = require("./lib"); diff --git a/lib/index.coffee b/lib/index.coffee index 6d0a3ab4..2dcfb7d2 100644 --- a/lib/index.coffee +++ b/lib/index.coffee @@ -136,17 +136,19 @@ class EPub $(that).replaceWith($("
" + child + "
")) $("img").each (index, elem)-> - url = $(elem).attr("src") - if image = self.options.images.find((element) -> element.url == url) - id = image.id - extension = image.extension + if 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}") 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}") + $(elem).remove() content.data = $.xml() content diff --git a/lib/index.js b/lib/index.js index b2579622..c9930872 100644 --- a/lib/index.js +++ b/lib/index.js @@ -1,4 +1,4 @@ -// Generated by CoffeeScript 2.2.2 +// Generated by CoffeeScript 2.3.0 (function() { var EPub, Q, _, archiver, cheerio, ejs, entities, fs, fsextra, mime, path, removeDiacritics, request, rimraf, uslug, uuid, indexOf = [].indexOf; @@ -158,20 +158,23 @@ }); $("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; + if (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}); + } + return $(elem).attr("src", `images/${id}.${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).remove(); } - return $(elem).attr("src", `images/${id}.${extension}`); }); content.data = $.xml(); return content; diff --git a/package-lock.json b/package-lock.json index 85877eaa..36ede89f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -101,6 +101,12 @@ "lodash.some": "4.6.0" } }, + "coffeescript": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/coffeescript/-/coffeescript-2.3.0.tgz", + "integrity": "sha512-M1AINTgv6EvFAK92LeaYdHUzsTE+j97kBQyLHjfnMz1jh21rJMjdTe471Zgs+qK7Tavpbh5e4pP2VxcRTFxm9A==", + "dev": true + }, "combined-stream": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", diff --git a/package.json b/package.json index 0b34f1be..08a1f15b 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,8 @@ "description": "A library to generate EPUB from HTML", "main": "index.js", "scripts": { - "test": "node test" + "test": "node test", + "compile": "coffee -c ." }, "repository": { "type": "git", @@ -36,5 +37,8 @@ "superagent": "^3.8.2", "underscore": "^1.8.3", "uslug": "^1.0.4" + }, + "devDependencies": { + "coffeescript": "^2.3.0" } } diff --git a/test.js b/test.js index a08a8f0a..3df5078c 100644 --- a/test.js +++ b/test.js @@ -1,4 +1,4 @@ -// Generated by CoffeeScript 2.2.2 +// Generated by CoffeeScript 2.3.0 (function() { var EPub, optionsAlice, optionsHtmlPaste, path;