mirror of
https://github.com/alexadam/save-as-ebook.git
synced 2025-09-11 09:54:41 +00:00
misc
This commit is contained in:
parent
3a16cb82a1
commit
97018a1bef
2 changed files with 7 additions and 70 deletions
|
@ -54,13 +54,14 @@ function showEditor() {
|
||||||
dragHandler.id = 'dragHandler';
|
dragHandler.id = 'dragHandler';
|
||||||
dragHandler.innerText = '\u21f5';
|
dragHandler.innerText = '\u21f5';
|
||||||
|
|
||||||
var label = document.createElement('textarea');
|
var label = document.createElement('input');
|
||||||
label.id = 'textarea' + i;
|
label.type = 'text';
|
||||||
|
label.id = 'text' + i;
|
||||||
label.rows = 1;
|
label.rows = 1;
|
||||||
// label.cols = 100;
|
// label.cols = 100;
|
||||||
label.style.width = '75%';
|
label.style.width = '75%';
|
||||||
label.style.display = 'inline';
|
label.style.display = 'inline';
|
||||||
label.innerText = allPages[i].title;
|
label.value = allPages[i].title;
|
||||||
|
|
||||||
var buttons = document.createElement('span');
|
var buttons = document.createElement('span');
|
||||||
|
|
||||||
|
|
|
@ -12,12 +12,14 @@ function getImageSrc(srcTxt) {
|
||||||
|
|
||||||
function force(contentString) {
|
function force(contentString) {
|
||||||
try {
|
try {
|
||||||
var tagOpen = '@@@';
|
var tagOpen = '@@@'; //TODO
|
||||||
var tagClose = '###';
|
var tagClose = '###';
|
||||||
var inlineElements = ['h1', 'h2', 'h3', 'sup', 'b', 'i', 'em', 'code', 'pre', 'p'];
|
var inlineElements = ['h1', 'h2', 'h3', 'sup', 'b', 'i', 'em', 'code', 'pre', 'p'];
|
||||||
|
|
||||||
var $content = $(contentString);
|
var $content = $(contentString);
|
||||||
|
|
||||||
|
// TODO replace li with p
|
||||||
|
|
||||||
$content.find('img').each(function (index, elem) {
|
$content.find('img').each(function (index, elem) {
|
||||||
$(elem).replaceWith('<span>' + tagOpen + 'img src="' + getImageSrc($(elem).attr('src')) + '"' + tagClose + tagOpen + '/img' + tagClose + '</span>');
|
$(elem).replaceWith('<span>' + tagOpen + 'img src="' + getImageSrc($(elem).attr('src')) + '"' + tagClose + tagOpen + '/img' + tagClose + '</span>');
|
||||||
});
|
});
|
||||||
|
@ -194,58 +196,6 @@ function getSelectedNodes() {
|
||||||
|
|
||||||
/////
|
/////
|
||||||
|
|
||||||
function base64ArrayBuffer(arrayBuffer) {
|
|
||||||
var base64 = '';
|
|
||||||
var encodings = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
|
|
||||||
|
|
||||||
var bytes = new Uint8Array(arrayBuffer);
|
|
||||||
var byteLength = bytes.byteLength;
|
|
||||||
var byteRemainder = byteLength % 3;
|
|
||||||
var mainLength = byteLength - byteRemainder;
|
|
||||||
|
|
||||||
var a, b, c, d;
|
|
||||||
var chunk;
|
|
||||||
|
|
||||||
// Main loop deals with bytes in chunks of 3
|
|
||||||
for (var i = 0; i < mainLength; i = i + 3) {
|
|
||||||
// Combine the three bytes into a single integer
|
|
||||||
chunk = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2];
|
|
||||||
|
|
||||||
// Use bitmasks to extract 6-bit segments from the triplet
|
|
||||||
a = (chunk & 16515072) >> 18; // 16515072 = (2^6 - 1) << 18
|
|
||||||
b = (chunk & 258048) >> 12; // 258048 = (2^6 - 1) << 12
|
|
||||||
c = (chunk & 4032) >> 6; // 4032 = (2^6 - 1) << 6
|
|
||||||
d = chunk & 63; // 63 = 2^6 - 1
|
|
||||||
|
|
||||||
// Convert the raw binary segments to the appropriate ASCII encoding
|
|
||||||
base64 += encodings[a] + encodings[b] + encodings[c] + encodings[d];
|
|
||||||
}
|
|
||||||
|
|
||||||
// Deal with the remaining bytes and padding
|
|
||||||
if (byteRemainder == 1) {
|
|
||||||
chunk = bytes[mainLength];
|
|
||||||
|
|
||||||
a = (chunk & 252) >> 2; // 252 = (2^6 - 1) << 2
|
|
||||||
|
|
||||||
// Set the 4 least significant bits to zero
|
|
||||||
b = (chunk & 3) << 4; // 3 = 2^2 - 1
|
|
||||||
|
|
||||||
base64 += encodings[a] + encodings[b] + '==';
|
|
||||||
} else if (byteRemainder == 2) {
|
|
||||||
chunk = (bytes[mainLength] << 8) | bytes[mainLength + 1];
|
|
||||||
|
|
||||||
a = (chunk & 64512) >> 10; // 64512 = (2^6 - 1) << 10
|
|
||||||
b = (chunk & 1008) >> 4; // 1008 = (2^6 - 1) << 4
|
|
||||||
|
|
||||||
// Set the 2 least significant bits to zero
|
|
||||||
c = (chunk & 15) << 2; // 15 = 2^4 - 1
|
|
||||||
|
|
||||||
base64 += encodings[a] + encodings[b] + encodings[c] + '=';
|
|
||||||
}
|
|
||||||
|
|
||||||
return base64;
|
|
||||||
}
|
|
||||||
|
|
||||||
function deferredAddZip(url, filename, zip) {
|
function deferredAddZip(url, filename, zip) {
|
||||||
var deferred = $.Deferred();
|
var deferred = $.Deferred();
|
||||||
JSZipUtils.getBinaryContent(url, function(err, data) {
|
JSZipUtils.getBinaryContent(url, function(err, data) {
|
||||||
|
@ -262,20 +212,6 @@ function deferredAddZip(url, filename, zip) {
|
||||||
return deferred;
|
return deferred;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getImgDownloadUrl(imgSrc) {
|
|
||||||
var baseUrl = getOriginUrl();
|
|
||||||
if (imgSrc.indexOf('//') === 0) {
|
|
||||||
return baseUrl.split('//')[0] + imgSrc;
|
|
||||||
}
|
|
||||||
if (imgSrc.indexOf('http') !== 0) {
|
|
||||||
if (imgSrc.indexOf('/') === 0) {
|
|
||||||
return baseUrl + imgSrc;
|
|
||||||
}
|
|
||||||
return baseUrl + '/' + imgSrc;
|
|
||||||
}
|
|
||||||
return imgSrc;
|
|
||||||
}
|
|
||||||
|
|
||||||
chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
|
chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
|
||||||
console.log('Extract Html...');
|
console.log('Extract Html...');
|
||||||
var imgsPromises = [];
|
var imgsPromises = [];
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue