This commit is contained in:
alexadam 2016-08-16 12:44:58 +03:00
parent ecf0d434f7
commit d91272b741
2 changed files with 19 additions and 16 deletions

View file

@ -1,8 +1,8 @@
var cssFileName = 'ebook.css'; var cssFileName = 'ebook.css';
function getImagesIndex(allImgSrc) { function getImagesIndex(allImages) {
return Object.keys(allImgSrc).reduce(function(prev, elem, index) { return allImages.reduce(function(prev, elem, index) {
return prev + '\n' + '<item href="images/' + allImgSrc[elem] + '" id="img' + index + '" media-type="image/' + getFileExtension(elem) + '"/>'; return prev + '\n' + '<item href="images/' + elem.filename + '" id="img' + index + '" media-type="image/' + getFileExtension(elem.filename) + '"/>';
}, ''); }, '');
} }
@ -121,7 +121,7 @@ function _buildEbook(allPages) {
return prev + '\n' + '<item id="ebook' + index + '" href="pages/' + page.url + '" media-type="application/xhtml+xml" />'; return prev + '\n' + '<item id="ebook' + index + '" href="pages/' + page.url + '" media-type="application/xhtml+xml" />';
}, '') + }, '') +
allPages.reduce(function(prev, page, index) { allPages.reduce(function(prev, page, index) {
return prev + '\n' + getImagesIndex(page.imgs); return prev + '\n' + getImagesIndex(page.images);
}, '') + }, '') +
// getExternalLinksIndex() + // getExternalLinksIndex() +
'</manifest>' + '</manifest>' +
@ -138,14 +138,14 @@ function _buildEbook(allPages) {
/////////////// ///////////////
/////////////// ///////////////
var imgs = oebps.folder("images"); var imgsFolder = oebps.folder("images");
var imgsPromises = [];
allPages.forEach(function(page) { allPages.forEach(function(page) {
Object.keys(page.imgs).forEach(function(imgSrc, index) { for (var i = 0; i < page.images.length; i++) {
imgs.file(page.imgs[imgSrc], page.imgsData[page.imgs[imgSrc]], { var tmpImg = page.images[i];
imgsFolder.file(tmpImg.filename, tmpImg.data, {
base64: true base64: true
}); });
}); }
}); });
var done = false; var done = false;

View file

@ -1,5 +1,5 @@
var allImgSrc = {}; var allImgSrc = {};
var allImgsData = {}; var allImages = [];
var maxNrOfElements = 10000; var maxNrOfElements = 10000;
////// //////
@ -220,8 +220,12 @@ function deferredAddZip(url, filename, zip) {
if (err) { if (err) {
deferred.reject(err); deferred.reject(err);
} else { } else {
allImgsData[filename] = base64ArrayBuffer(data); var tmpImg = {
deferred.resolve(data); filename: filename,
data: base64ArrayBuffer(data)
};
allImages.push(tmpImg);
deferred.resolve();
} }
}); });
return deferred; return deferred;
@ -231,7 +235,7 @@ chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
console.log('Extract Html...'); console.log('Extract Html...');
var imgsPromises = []; var imgsPromises = [];
allImgSrc = {}; allImgSrc = {};
allImgsData = {}; allImages = [];
var result = {}; var result = {};
var pageSrc = ''; var pageSrc = '';
var tmpContent = ''; var tmpContent = '';
@ -263,10 +267,9 @@ chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
$.when.apply($, imgsPromises).done(function() { $.when.apply($, imgsPromises).done(function() {
result = { result = {
url: getPageUrl(document.title), url: getPageUrl(document.title),
title: getPageTitle(document.title), //gatPageTitle(document.title), title: getPageTitle(document.title),
baseUrl: getCurrentUrl(), baseUrl: getCurrentUrl(),
imgs: allImgSrc, images: allImages,
imgsData: allImgsData,
content: tmpContent content: tmpContent
}; };
sendResponse(result); sendResponse(result);