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;}");
|
||||
if (isNode()){
|
||||
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'
|
||||
} else {
|
||||
var generatedBufferType = 'uint8array'
|
||||
@@ -16,12 +18,12 @@ class EpubXhtml{
|
||||
}
|
||||
|
||||
convert(content){
|
||||
// var blob = new Blob([content],{type:'text/plain'});
|
||||
// var reader = new FileReader();
|
||||
// reader.onload = function(evt){callback(evt.target.result);};
|
||||
// reader.readAsText(blob, encoding);
|
||||
|
||||
let cnt = `<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
let html = new StringDecoder("utf-8").write(content)
|
||||
let dom = new DOMParser().parseFromString(html, 'text/html');
|
||||
let xml = XMLSerializer.serializeToString(dom);
|
||||
// let cnt = `<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
// <!DOCTYPE html>
|
||||
let cnt = `<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"
|
||||
xmlns:epub="http://www.idpf.org/2007/ops">
|
||||
@@ -29,7 +31,7 @@ class EpubXhtml{
|
||||
<title></title>
|
||||
</head>
|
||||
<body>
|
||||
${new TextDecoder("utf-8").write(content)}
|
||||
${xml}
|
||||
</body>
|
||||
</html>
|
||||
`
|
||||
@@ -271,7 +273,7 @@ class EpubWriter{
|
||||
}
|
||||
|
||||
addFile(filename, content){
|
||||
console.log(`epub ${filename}: ${content}`)
|
||||
console.log(`epub ${filename}:`)
|
||||
|
||||
if (filename in this.meta.override){
|
||||
let o = this.meta.override[filename]
|
||||
|
||||
Reference in New Issue
Block a user