Ebpub that can be read on edge browser.
This commit is contained in:
20
src/epub.js
20
src/epub.js
@@ -1,7 +1,9 @@
|
|||||||
var isNode=new Function("try {return this===global;}catch(e){return false;}");
|
var isNode=new Function("try {return this===global;}catch(e){return false;}");
|
||||||
if (isNode()){
|
if (isNode()){
|
||||||
var JSZip = require('jszip');
|
var JSZip = require('jszip');
|
||||||
const { TextDecoder } = require('string_decoder');
|
var StringDecoder = require('string_decoder').StringDecoder;
|
||||||
|
var XMLSerializer = require('xmlserializer')
|
||||||
|
var DOMParser = require('xmldom').DOMParser
|
||||||
var generatedBufferType = 'uint8array'
|
var generatedBufferType = 'uint8array'
|
||||||
} else {
|
} else {
|
||||||
var generatedBufferType = 'uint8array'
|
var generatedBufferType = 'uint8array'
|
||||||
@@ -16,12 +18,12 @@ class EpubXhtml{
|
|||||||
}
|
}
|
||||||
|
|
||||||
convert(content){
|
convert(content){
|
||||||
// var blob = new Blob([content],{type:'text/plain'});
|
let html = new StringDecoder("utf-8").write(content)
|
||||||
// var reader = new FileReader();
|
let dom = new DOMParser().parseFromString(html, 'text/html');
|
||||||
// reader.onload = function(evt){callback(evt.target.result);};
|
let xml = XMLSerializer.serializeToString(dom);
|
||||||
// reader.readAsText(blob, encoding);
|
// let cnt = `<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||||
|
// <!DOCTYPE html>
|
||||||
let cnt = `<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
let cnt = `<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml"
|
<html xmlns="http://www.w3.org/1999/xhtml"
|
||||||
xmlns:epub="http://www.idpf.org/2007/ops">
|
xmlns:epub="http://www.idpf.org/2007/ops">
|
||||||
@@ -29,7 +31,7 @@ class EpubXhtml{
|
|||||||
<title></title>
|
<title></title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
${new TextDecoder("utf-8").write(content)}
|
${xml}
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
`
|
`
|
||||||
@@ -271,7 +273,7 @@ class EpubWriter{
|
|||||||
}
|
}
|
||||||
|
|
||||||
addFile(filename, content){
|
addFile(filename, content){
|
||||||
console.log(`epub ${filename}: ${content}`)
|
console.log(`epub ${filename}:`)
|
||||||
|
|
||||||
if (filename in this.meta.override){
|
if (filename in this.meta.override){
|
||||||
let o = this.meta.override[filename]
|
let o = this.meta.override[filename]
|
||||||
|
|||||||
Reference in New Issue
Block a user