Skip to content

Commit ceecaf7

Browse files
committed
feat: replace medium-zoom with Fancybox
1 parent 2a21ed6 commit ceecaf7

8 files changed

Lines changed: 30 additions & 45 deletions

File tree

epub_browser/assets/chapter.css

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -306,25 +306,6 @@ body {
306306
height: auto;
307307
}
308308

309-
/* medium-zoom 样式 */
310-
.medium-zoom-container {
311-
z-index: 9999;
312-
}
313-
314-
.medium-zoom-overlay {
315-
background: #000;
316-
opacity: 0.9;
317-
}
318-
319-
.medium-zoom-scaler {
320-
transform-origin: center center;
321-
}
322-
323-
.medium-zoom-scaler img {
324-
max-width: 90vw;
325-
max-height: 90vh;
326-
object-fit: contain;
327-
}
328309

329310
#eb-content .table-wrapper {
330311
width: 100%;
@@ -1096,10 +1077,6 @@ body {
10961077
color: var(--primary) !important;
10971078
} */
10981079

1099-
/* medium-zoom 覆盖层 */
1100-
.dark-mode .medium-zoom-overlay {
1101-
background: rgba(0, 0, 0, 0.9) !important;
1102-
}
11031080
.font-family-selector select {
11041081
width: 100%;
11051082
padding: 10px 15px;

epub_browser/assets/chapter.js

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -572,13 +572,10 @@ function initScript() {
572572
pageJumpInput.setAttribute('max', totalPages);
573573
setTimeout(function() {
574574
hideLoading();
575-
if (document.documentElement.mediumZoomInstance) {
576-
document.documentElement.mediumZoomInstance.detach();
577-
}
578-
document.documentElement.mediumZoomInstance = mediumZoom('#eb-content img', {
579-
margin: 24,
580-
background: '#000',
581-
scrollOffset: 0
575+
Fancybox.bind('#eb-content img', {
576+
Toolbar: {
577+
display: ['close'],
578+
},
582579
});
583580
}, 500);
584581
}, 200);
@@ -817,7 +814,7 @@ function initScript() {
817814
var tn = t.tagName.toLowerCase();
818815
if (tn === 'a' || tn === 'button' || tn === 'input' || tn === 'textarea' || tn === 'select' || tn === 'img') interactive = true;
819816
else if (t.closest('a') || t.closest('button') || t.closest('input') || t.closest('textarea') || t.closest('select')) interactive = true;
820-
else if (t.closest('.navigation') || t.closest('.font-controls') || t.closest('.reading-controls') || t.closest('.toc-container') || t.closest('.medium-zoom-container') || t.closest('.top-controls') || t.closest('.mobile-controls')) interactive = true;
817+
else if (t.closest('.navigation') || t.closest('.font-controls') || t.closest('.reading-controls') || t.closest('.toc-container') || t.closest('.fancybox__container') || t.closest('.top-controls') || t.closest('.mobile-controls')) interactive = true;
821818
if (interactive) return;
822819

823820
var w = window.innerWidth;
@@ -1003,7 +1000,7 @@ function initScript() {
10031000

10041001
document.getElementById('eb-content').addEventListener('click', function(e) {
10051002
var t = e.target;
1006-
var img = t.tagName.toLowerCase() === 'img' || t.closest('img') || t.closest('.medium-zoom-container');
1003+
var img = t.tagName.toLowerCase() === 'img' || t.closest('img') || t.closest('.fancybox__container');
10071004
if (img) return;
10081005
var rect = e.currentTarget.getBoundingClientRect();
10091006
var cx = rect.left + rect.width/2;
@@ -1417,14 +1414,13 @@ function initScript() {
14171414
} else {
14181415
mobileControls.style.transform = 'translateY(0)';
14191416
}
1420-
1421-
if (document.documentElement.mediumZoomInstance) {
1422-
document.documentElement.mediumZoomInstance.detach();
1423-
}
1424-
document.documentElement.mediumZoomInstance = mediumZoom('#eb-content img', {
1425-
margin:24, background:'#000', scrollOffset:0
1417+
1418+
Fancybox.bind('#eb-content img', {
1419+
Toolbar: {
1420+
display: ['close'],
1421+
},
14261422
});
1427-
1423+
14281424
var fontControlBtn = document.getElementById('fontControlBtn');
14291425
var mobileFontBtn = document.getElementById('mobileFontBtn');
14301426
var fontControls = document.getElementById('fontControls');

epub_browser/assets/fancybox.min.css

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

epub_browser/assets/fancybox.min.js

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

epub_browser/assets/medium-zoom.min.js

Lines changed: 0 additions & 2 deletions
This file was deleted.

epub_browser/assets/sw.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const CACHE_NAME = 'epub-browser-v7';
1+
const CACHE_NAME = 'epub-browser-v8';
22

33
const STATIC_ASSETS = [
44
'/',
@@ -11,7 +11,8 @@ const STATIC_ASSETS = [
1111
'/assets/chapter.js',
1212
'/assets/fa.all.min.css',
1313
'/assets/sortable.min.js',
14-
'/assets/medium-zoom.min.js',
14+
'/assets/fancybox.min.css',
15+
'/assets/fancybox.min.js',
1516
'/assets/manifest.json',
1617
'/assets/icon-192.png',
1718
'/assets/icon-512.png',

epub_browser/processor.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1111,6 +1111,7 @@ def create_chapter_template(self, content, style_links, chapter_index, chapter_t
11111111
<link rel="stylesheet" href="/assets/fa.all.min.css">
11121112
<link rel="stylesheet" href="/assets/theme.css">
11131113
<link rel="stylesheet" href="/assets/chapter.css">
1114+
<link rel="stylesheet" href="/assets/fancybox.min.css">
11141115
<link rel="icon" type="image/svg+xml" href="/assets/favicon.svg">
11151116
<link rel="apple-touch-icon" href="/assets/icon-192.png">
11161117
<link rel="manifest" href="/assets/manifest.json">
@@ -1584,7 +1585,7 @@ def create_chapter_template(self, content, style_links, chapter_index, chapter_t
15841585
});
15851586
</script>
15861587
<script src="/assets/theme.js" defer></script>
1587-
<script src="/assets/medium-zoom.min.js"></script>
1588+
<script src="/assets/fancybox.min.js"></script>
15881589
<script src="/assets/chapter.js" defer></script>
15891590
<script src="/assets/sortable.min.js"></script>
15901591
<script src="/assets/highlight.min.js"></script>

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
setup(
88
name="epub-browser", # 在PyPI上显示的项目名称
9-
version="1.8.11", # 初始版本号
9+
version="1.8.12", # 初始版本号
1010
author="dfface", # 作者名
1111
author_email="dfface@sina.com", # 作者邮箱
1212
keywords="epub reader html export browser convert calibre-web calibre kindle web server local",

0 commit comments

Comments
 (0)