简悦是什么?

简悦是 沉浸式阅读的 Chrome 扩展,类似 Safari 的阅读模式;取自:「 单阅读,心情愉 」 之意。  

前文回顾,猛戳这里

马上使用:

Chrome 应用商店 或者 离线下载 ,官网 在这里 以及代码托管 在这里 (注:简悦已升到 1.0.3 版,详细请看 简悦 1.0.3,让你离知识再近一步


距离 1.0.0 发布 139 commits 之后


139 commits

自发布以来,得到了很多朋友的帮助以及鼓励,基本上是持续不断的 ⭐⭐⭐⭐⭐ 好评。

Chrome Webstore reviews

任何一个产品最初都不是完美的,随着用户的增加,大家也期盼着如下的功能:

Chrome Webstore reviews

通过人肉一一收集来源,总结了如下的几个功能点:

  1. 支持 ESC 退出方式;
  2. 阅读进度可隐藏;
  3. 控制栏可隐藏;
  4. 右键菜单可隐藏;
  5. 已适配的网址可自动进入阅读模式`;
  6. 手动添加未适配网址到阅读模式;

前五个功能都属于功能增强,并不属于新增功能;而最后一个原计划即为下个版本才发布。

如果把它们都放到原计划发布的 1.1.0 里面无疑对开发周期是一个严峻的考量,再加上 7月份我有个为期15天的假期,走之前无法完成 1.1.0,回来后还要再开发一段时间,这对简悦的用户来说,并不友好... 

经过考虑,决定在 1.1.0 之前发布一个小改版,把一些容易实现且提高用户体验性的功能放到 1.0.1 里面。

既然定好了,撸袖子开干!1.0.0 发布之后的周末,前四个功能的界面初版完成。

设置 - 高级设定 初版

前三个功能从需求分析 → 完成测试,只用了不到三天时间,直到 右键菜单可隐藏 ...

这个功能在需求上给了我一些困扰,原本打算想单纯的 隐藏/显示 右键菜单完事,但右键菜单有三个: 聚焦模式 / 阅读模式 / 是否显示使用阅读模式打开此链接?且每个菜单项的使用场景都不一样,不能简单粗暴的将它们放在一起控制。

所以,右键菜单有了单独控制的选项:

可单独控制的右键菜单

第五个功能 已适配的网址可自动进入阅读模式 代码并不复杂,甚至跟上面四个功能相比更加的简单。但是它涉及到了 适配列表 的逻辑,而这部分逻辑由于在 1.0.0 里面并没有完美的实现,第五个功能就变得需要还 技术债 ...

原来的 URL 适配只使用了比较简单的模糊查询,如 http://www.cnbeta.com/* 会匹配如下的网址:

1. http://www.cnbeta.com/category/movie.htm

2. http://hot.cnbeta.com/articles/movie/627439.htm

而真正需要匹配的网址  http://*.cnbeta.com/articles/*/*.htm 才对!而前一个 URL 显然不是需要被适配的网址,这样无形给此功能带来了不好的用户体验性。(即:未适配的页面也能自动进入阅读模式)

在这里特别需要感谢 @ksky 正是他提供 minimatch 解决了这个问题!

因此适配列表进化到了 v2 版本,由于第二版的适配列表已增至 165个,URL 的修改以及修改后的测试可是个麻烦事...

先给出 v1 和 v2 差别性的比较:

v1 与 v2 的比较

再加上六月底有些忙,这个功能持差不多陆续续了三天多的时间!

虽然加入了 minimatch 后可以解决绝大部分问题,但仍旧有少量的 URL 有问题,比如如下几个网址:

https://www.waerfa.com/social

https://www.waerfa.com/boostnote-review

https://www.waerfa.com/twitter-for-ios-dark-mode

后两个 URL 属于一组,与前一个 URL 的页面结构完全不同,即便使用了 minimatch 方案,也无法解决这种特例...

为此我在这个功能基础之上增加一个 排除列表 ,属于这个列表中的 URL 将默认不自动进入阅读模式。

设置 - 高级设定 列表模式

适配上除了支持 URL 外,还支持 minimatch 方案 以及 name 方式,详细说明 移步这里 。

至此 1.0.1 的新功能全部完成了,它们包括:

  • 选项页-高级设定,点击这里 看大图
选项 - 高级设定

 

    • 增加 ESC 退出方式;
    • 右键菜单可隐藏;
    • 控制栏可隐藏,包括:聚焦模式 与 阅读模式;
    • 阅读进度可隐藏;
    • 当适配阅读模式时,增加 自动进入以及排除列表, 详细 请看这里
  • 适配列表增至 165个,详细请看 这里
  • 站点适配器 增加 minimatch 方案,由 @ksky 提供;
  • 下载为 Markdown 格式 仅限阅读模式,由 @ksky 提供;
  • 修复了 这些 issues

当然,这仅仅只是新功能,1.0.1 还包含了很多改进,更多内容请看 更新日志 。

以下是简悦的全部功能 左下角为 1.0.1 新增加功能

简悦 1.0.1 全部功能


最后,希望简悦一如既往地提升你的阅读体验,还原阅读本质!