作为暗色狂魔, Calibre Web 在线阅读 epub 电子书时不能使用夜间模式很让人抓狂. issue 里有一万个同样的需求, 以及有一万个实现了这个功能的 PR. 但是作者貌似并不打算开发这个功能, 因为 epub 阅读器是用的其他开源项目; 而那些 PR 说实话写的都不太好 (可能这也是作者不 merge 的理由之一吧) (甚至还看到一个 PR 代码注释里写 “Do this smarter” 的笑死我了). 那就自己动手, 丰衣足食!

考虑到软件更新迭代的问题, 我并不打算像很多 PR 那样, 直接对静态文件内容进行修改, 否则可能造成代码的冲突. 于是我把这个做成了一个类似 “补丁” 的形式, 只需要往里添加文件, 然后在合适的地方引用 js 即可.

这里是我实现的仓库地址

截图


使用方法

下载文件, 找到 calibre-web 的目录, 一般在 python 的 lib/python3.x/site-packages 下面, 把 cssjs 文件夹丢到 /cps/static 下面.

然后编辑 cps/templates/read.html 以引用 js, 可以在 body 结尾处加一行代码, 如下所示:

<!DOCTYPE html>
<html class="no-js">...<script src="{{ url_for('static', filename='js/reading/epub.js') }}"></script><!-- 这里是添加的代码 --><script src="{{ url_for('static', filename='js/reading/epub_theme.js') }}"></script><!-- 上面是添加的代码 --></body>
</html>

已知 Bug

  • 如果 epub 文件本身就有颜色, 那暗色模式可能不尽如人意.
  • 切换主题或者切换章节, 甚至改变阅读器大小时, 阅读器会重新加载, 但同时 css 也会重新加载, 就挺离谱的… 这应该是 epub.js 的实现问题. 不过影响不算太大, 就是在切换的时候可能有些许延迟.

Calibre Web 中阅读 epub 电子书时的夜间模式解决方案相关推荐

  1. split逗号分割中文出现乱码java_Java中URL传中文时乱码的问题解决方案

    前言 Java中URL传中文时乱码的问题相信不少朋友都遇到过,最近就遇到一个问题,就是在Action当中把一条中文信息绑定在URL的后面,ActionForward到别一个页面时,用reqeust.g ...

  2. java web中读取properties文件时的路径问题

    在web开发时,难免会有一些固定的参数,我们一般把这些固定的参数存在properties文件中,然后用的时候要读出来.但经常出现一些错误,找不到相应的路径,所以,今天特地讲一些如何正确获得路径. 首先 ...

  3. 开发EPUB电子书制作下载网站

    角摩网制作EPUB电子书下载地址:http://www.joymo.cn/Html/Diy/wjzz.html,居于epub格式标准,采用C#开发独立的生成程序! EPUB 是一种开放式的数字图书规范 ...

  4. 运用 Evince 阅读 PDF 电子书

    Toy Posted in Apps, Reviews Evince 本来是 GNOME 环境中一个巨大的文档查看器,不过用来阅读 PDF 样式的电子书倒也不错.窃觉得,Evince 虽无 Adobe ...

  5. 在线阅读.epub文件的网站

    转自豆瓣分享推荐一个在线可以阅读epub电子书的网站 网址:www.neat-reader.cn

  6. Android中夜间模式的三种实现方式

    参考:https://www.jianshu.com/p/f3aaed57fa15 在本篇文章中给出了三种实现日间/夜间模式切换的方案: 使用 setTheme 的方法让 Activity 重新设置主 ...

  7. 如何使用Towify在小程序中实现夜间模式和日间模式的自由切换?

    通过触发器中的执行其它触发器动态显示夜间模式和日光模式图标的显示和隐藏,同时使用组件切换器控制不同组件之间的切换 效果展示 具体步骤 制作按钮切换模式 制作切换图标 创建开关切换触发器 创建图标显示隐 ...

  8. 看epub电子书用什么阅读软件好?

    随着电子设备的飞速发展,我们很多书友都从实体书转战到电子书阵营,但我相信很多书友在阅读电子书的时候都遇到过这样的困扰,epub电子书兼容性差.自己电脑中的阅读软件不是广告很多就是阅读界面排版固定,所以 ...

  9. EPUB电子书阅读-MAC版

    EPUB电子书阅读-MAC版 书作为人历史长河中的文化载体,在漫长的发展中,它们以各种各样的形式出现,这其中包括以往的纸质图书和最近几年慢慢流行的电子书籍.在数字信息技术发达的今天,当文字.图片.声音 ...

  10. EPUB电子书阅读与制作

    伴随着时代的进步,我们的生活正在被被飞速发展的网络潜移默化的影响着,从简单的衣食住行到我们常见的书籍,都在发生着巨大的改变.如今,电子图书的出现不仅解决了现在最重要的环保问题,还为我们的阅读体验带来了 ...

最新文章

  1. android小技巧(二)
  2. HttpClient使用方法(包括POST文件)
  3. 一个简易的webpack开发环境
  4. 出现了!豆瓣最高9.9分,2020年最值得看的美剧!你居然还没看过?【内附资源】...
  5. java独步寻花,小班语言《江畔独步寻花》
  6. 【转】SQL中where, group by, having的用法和区别
  7. 杭州湾跨海大桥视频上云,夯实智慧高速“云基建
  8. mysql 数据表中查找重复记录(条数)
  9. DN值、地表反射率、 表观反射率、发射率、辐射亮度、亮温名词解释
  10. 浅析数据链路层的介质访问控制
  11. 教你使用Wine在Linux上运行Windows软件
  12. lightning接口_苹果、安卓充电接口有望统一,欧盟重压下,苹果将不得不妥协
  13. JAVA观察者模式(买彩票案例)
  14. CST软件多少钱一套呢?CST正版软件报价
  15. 快速使用ros小乌龟教程——ROS初体验
  16. 【计算机网络】实验1:双绞线制作
  17. PLC1200 模拟量采集
  18. 富贵不压重发_俗语“贵人不顶重发”,重发是啥意思?为什么这样说?
  19. CES2018,三星为何将MicroLED应用于电视而非手机?
  20. 键盘按钮keyCode对照表

热门文章

  1. 世界各国简称 英文名称 电话区号JSON数据包
  2. #C语言学习笔记#猴子偷桃问题
  3. 职场工作人员需不需要写日报
  4. 蜀门 - 青城加点完美攻略
  5. 计算机网络怎样连手机软件,手机怎么共享网络给电脑_手机如何共享电脑网络-win7之家...
  6. 如何利用cmd打开资源管理器
  7. xp系统计算机蓝屏,xp蓝屏代码大全及解决方法
  8. 抑制广播风暴 各种发包
  9. 训练样本裁剪,背景裁剪,yoloV5裁剪样本检测
  10. python入门之发送邮件