diff --git a/oml/item/icons.py b/oml/item/icons.py
index 212af9c..9423d6b 100644
--- a/oml/item/icons.py
+++ b/oml/item/icons.py
@@ -79,7 +79,7 @@ class Icons(dict):
c.close()
conn.close()
except:
- logger.debug('failed to insert icon %s', id, exc_info=True)
+ logger.debug('failed to insert icon %s', id)
def __delitem__(self, id):
sql = 'DELETE FROM icon WHERE id = ?'
diff --git a/static/css/epub.css b/static/css/epub.css
deleted file mode 100644
index ec10fe2..0000000
--- a/static/css/epub.css
+++ /dev/null
@@ -1,12 +0,0 @@
-
-::selection {
- background: rgba(255,255,0, 0.3)
-}
-.epubjs-hl {
- fill: yellow;
- fill-opacity: 0.3;
- mix-blend-mode: multiply;
-}
-.epubjs-hl.selected {
- fill: blue;
-}
diff --git a/static/html/epub.html b/static/html/epub.html
index fc96f8b..560320f 100644
--- a/static/html/epub.html
+++ b/static/html/epub.html
@@ -11,7 +11,6 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
-
+
+
+
+
+
+
+
diff --git a/static/reader/epub.js b/static/reader/epub.js
deleted file mode 100644
index c065bed..0000000
--- a/static/reader/epub.js
+++ /dev/null
@@ -1,77 +0,0 @@
-"use strict";
-var reader;
-var id = document.location.pathname.split('/')[1];
-var annotations = JSON.parse(localStorage[id + '.annotations'] || '[]')
-
-function saveAnnotations() {
- localStorage[id + '.annotations'] = JSON.stringify(annotations)
-}
-
-function getText(book, cfiRange, cb) {
- book.getRange(cfiRange).then(function (range) {
- var text;
- if (range) {
- text = range.toString();
- }
- cb(text)
- })
-}
-
-function onHighlightClicked(e) {
- console.log("highlight clicked", e.target.dataset.epubcfi);
- if(e.target.classList.contains('selected')) {
- e.target.classList.remove('selected')
- } else {
- document.querySelectorAll('.epubjs-hl.selected').forEach(function(other) {
- other.classList.remove('selected')
- })
- e.target.classList.add('selected')
- }
-}
-
-document.onreadystatechange = function () {
- if (document.readyState == "complete") {
- EPUBJS.filePath = "/static/epub.js/js/libs/";
- EPUBJS.cssPath = "/static/epub.js/css/";
- EPUBJS.core.addCss('/static/css/epub.css')
- // fileStorage.filePath = EPUBJS.filePath;
- reader = ePubReader(document.location.pathname.replace(/\/reader\//, '/epub/'), {
- restore: true
- });
- var rendition = reader.rendition,
- book = reader.book;
-
- annotations.forEach(function(a) {
- rendition.annotations.highlight(a.cfiRange, a.data || {}, onHighlightClicked);
- })
-
- reader.rendition.on('keydown', function(event) {
- if (event.key == 'Delete') {
- document.querySelectorAll('.epubjs-hl.selected').forEach(function(a) {
- annotations = annotations.filter(function(annotation) {
- return annotation.cfiRange != a.dataset.epubcfi
- })
- rendition.annotations.remove(a.dataset.epubcfi)
- saveAnnotations()
- })
- }
- })
- rendition.on("selected", function(cfiRange, contents) {
- getText(book, cfiRange, function(quote) {
- var data = {
- quote: quote
- }
- rendition.annotations.highlight(cfiRange, data, onHighlightClicked);
- annotations.push({
- cfiRange: cfiRange,
- data: data
- })
- saveAnnotations()
- document.querySelectorAll('.epubjs-hl.selected').forEach(function(other) {
- other.classList.remove('selected')
- })
- })
- contents.window.getSelection().removeAllRanges();
- });
- }
-};