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(); - }); - } -};