zhihu optimizer

make zhihu clean and tidy, for better experience

目前為 2021-03-28 提交的版本,檢視 最新版本

作者
Kyouichirou
評價
0 0 0
版本
3.3.3.8
建立日期
2021-01-11
更新日期
2021-03-28
尺寸
387.7 KB
相容性
相容於 Chrome
授權條款
MIT
腳本執行於

简介

3.3.3.x更新:

引入一个小玩具: flipclock

flipclock

3.3.2.3更新: 由于搜索引擎dogedoge.com被502胶水封了, 暂时将其更换为bing(必应)

摘要

zhihu optimizer, 这是一款让知乎变得更好的轻量级Tampermonkey脚本.....Make Thing Better and Simpler

浏览器兼容测试: chrome 80+(x_64)完美运行, 已知不兼容chrome最低版本为: 64(x_86), Firefox未作兼容测试

Tampermonkey版本: 4.+

推荐搭配:Toc Bar, auto-generating table of content一起使用

使用前建议关闭其他在知乎上运行的GM脚本或者CSS, 避免冲突(上述Toc Bar不受影响)

(建议使用尽可能高版本的chrome | chromium浏览器和Tampermonkey扩展)

推荐使用浏览器: Centbrowser(百分浏览器)

演示视频(该视频所用的脚本版本较低): BiliBili

(以下内容对应的脚本的版本高于发布的版本.....)(待测试完成后再发布)(发布的版本包含绝大部分的功能)

更多后续更新请访问: zhihu optimizer user manual

当前手册对应脚本版本为: 3.3.3.x

目录

一, 屏幕颜色调节

生效页面: 全站

预置4种颜色可选, 在Tampermonkey菜单可选

分别为: 土黄色, 橄榄绿, 草原绿, 灰色(具体颜色效果参考实际)

亮度将根据时间自动梯度调节, 颜色, 透明度都将同步调节

支持暂时关闭当前页面颜色调节, 支持完全退出页面颜色调节

颜色切换

二, 过滤器

生效页面:

  1. 搜索(search)
  2. 话题(Topic)
  3. 问题和答案(question && answer)

支持拦截方式:

  1. 用户名, 该用户所发表的所有内容将从搜索, 话题, 问题|答案页面移除掉, 例如: 故事档案局
  2. 关键词, 将过滤内容, 如果内容包含此关键词, 相关的信息将被从搜索, 话题, 问题, 答案|问题页面移除, 使用需谨慎
  3. 问题, 顾名思义, 相关问题将从搜索页面和话题页面当中移除
  4. 话题, 顾名思义, 相关话题将被从搜索页面当中移除
  5. 文章(专栏), 相关的文章将被从搜索, 话题页面移除

当点击"Block"按钮的时候, 相关页面中的用户回答的答案将被隐藏, 反之, "unBlock", 取消拦截, 将显示答案, 同步执行, 不需要刷新页面即可

此按钮将在用户页面的左下角生成, eg: 故事档案局

Block按钮

eg: const blackKey = ["留学中介", "肖战"];

关键词, blackkey需要在代码中修改, 该部分位于代码块的顶部(该功能尚未完善, 未作全面启用)

  • 问题, question
  • 答案, answer
  • 话题, topic
  • 文章, article

示例

在搜索, 话题, 答案|问题页面, 点击对应的按钮即可移除相应的项目

三, 点击即突出内容

生效页面:

  1. 搜索(search)
  2. 话题(Topic)
  3. 问题和答案(question && answer)

即当你点击页面的信息时, 将该部分的内容突出显示

四, 页面内容文字辅助颜色

生效页面: 专栏

对内容的文字颜色进行一定的规律调节, 缓解单一颜色文字的眼睛枯燥(理论上....), 突出英文字母, 和数字

预置红, 蓝两种基准色(即在这两种颜色上进行梯级调节)

字母和数字采用绿色和紫色

需要注意的是: 如果原文已经加粗(或者已经表示强调的内容), 标题, 链接等内容将不会受到影响

多彩页面

代码高亮

仅对于部分JavaScript的代码生效, 即知乎原页面未进行关键字高亮的代码块, 仅突出显示关键字

五, 搜索框控制

  1. 移除预置搜索框搜索词
  2. 移除搜索框下的热门搜索, 不影响搜索建议和搜索历史
  3. 禁止搜索框在空白状态依然产生搜索的行为, 即不输入任何内容的状态下, 按回车键依然会搜索(关键词为知乎的热门搜索)

搜索清洁

六, 快捷键

完整版本

快捷键示意图

(由于快捷键的数量很多, 具体, 参考表格中的内容, 以表格的内容为准)

已知占用原页面的登录和滚动到底部快捷键

分别为:

单键"d", 登录弹窗(搜索快捷键, 豆瓣搜索占用)

"shift" + 'g', 滚动到页面底部, (知乎专栏)

1. 搜索

单键, 无辅助键

Google => 'g', (实际站点为DogeDoge);

Zhihu => "z";

MDN => "m", (即MDN Web Docs);

Bilibili => 'b';

Github => 'h', ('g'被用在Google);

Douban => 'd'

2. 高亮

支持4种颜色可选, 分别为黄色, 绿色, 紫色, 红色

辅助键: 'Shift'键

yellow => 'y';

green => 'g';

purple => 'p';

red => 'r';

高亮

3. 清除高亮

辅助键: 'Shift'键

clear => 'c';

使用前选中已经被高亮的区域, 即可清除被高亮的部分

4. 编辑当前页面

即将当前页面转为可编辑的状态, 可以方便在打印页面的时候, 清除掉不需要的元素

"F2", 无辅助键

如果页面处于可编辑状态, 将关闭可编辑状态, 反之, 亦如此.

5. 自动滚屏

(此功能已在答案|问题页面启用)

使用 requestAnimationFrame API, 不会出现滚屏抖动的问题

"`", 无辅助键, 该键位于"Tab"键上方(左上角的角落位置那个按键)

双击开始滚动或者暂停;

调节速度, 无辅助键

"+", 加速

"-", 减速

6. 翻页 (2.5.1版本新增)

方便左手也能在键盘上进行翻页操作

up => "u", 向上翻页

next => "n", 向下翻页

7. 快速复制代码

辅助键 "Ctrl" + 鼠标右键, 鼠标所在区域如果是代码区域, 该区域的代码将会自动被复制

8. PDF打印预览排版优化

辅助键: "shift" + "["

清除不相关的内容, 方便生成主要包含正文PDF文件, 增加和 Toc Bar, 自动生成文章大纲 联动

可以直接将生成的目录嵌入内容正文中

toc自动生成目录

9. 添加专栏

辅助键: "shift"

"F", => follow, 将当前专栏添加到follow列表, 不限数量, 适用于非迫切关注的内容

"S", => subscribe, 订阅当前的专栏, 注意订阅数量上限为10, 适用于迫切需要关注的内容

10. 自动模式

在滚动模式下使用 顾名思义, 假如你当前处于阅读模式下, 且观看的文章在当前访问的列表中, 将会在阅读完当前文章后自动阅读下一篇文章. 页面将会自动滚动到最顶部, 自动开始滚动

辅助键: "shift" + "a", => auto, 退出自动模式也如此

11. 滚动到顶部 | 底部

单键

"T", => Top, 滚动到顶部

"R", => Root, 滚动到底部

12. 目录快捷键

目录

"0 - 9" => 对应目录 1 - 10;

"<", 上一页 ">", 下一页

13. 其他

稍后阅读: "Shift" + "L" => read it later

七, 页面样式调整

字体:

生效页面: 全局

轻微对字体进行调节, 稍稍改善字体的显示效果, 增加了一定的字体阴影

页面内容加宽显示:

(同时将字体的对齐方式调节为两侧对齐)

生效页面:

  1. 搜索(search)
  2. 话题(Topic)
  3. 问题和答案(question && answer)
  4. 专栏

八. 搜索

侧边栏

侧边栏在不同页面会有所不同, 只有在文章的页面可以使用搜索来检索收藏的文章

搜索分两种类型(不同页面侧边栏的功能有所区别)

  1. 专栏搜索
  2. 收藏文章搜索, 注意需要使用特定的语句进行搜索
    • 2.1 按关键词, 单一关键词, $a=(python), 多个关键词$a=(python 机器学习), 使用空格进行分隔, 括号必须存在
  • 2.2 按时间搜索, 支持小时(hour), 天数(day), 星期(week), 月份(month), 年(year) $h<24, 表示收藏时间小于24个小时, **多个条件**, $d>1 $d<7, 即收藏时间大于1天, 小于7天

  • 2.3 按文章ID搜索, $p=102274476, (精确搜索)

  • 2.4 混合条件搜索(时间+关键词), 如: $d>3 $d<7 $a=(python javascript), 即收藏时间大于3天小于7天, 关键词包含python和JavaScript;

九, 阅读器

生效页面: 答案|问题

阅读器

十, 其他

  1. 去重定向, 即在打开外链知乎安全中心跳转(全局生效, 包括评论区)

  2. 移除在为未登录状态下, 页面出现的登录弹窗(不影响正常的登录, 当你主动登录账号时)

  3. 剪切板优化, 移除版权声明, 将部分常用的中文符号换成对应的英文符号, 如中文空心句号, 换成英文实心句号

  4. 对广告内容进行轻微调整....

  5. 拦截导致页面在自动滚动时出现卡顿的setinterval事件(不再需要使用ublock等扩展拦截: static.zhihu.com/heifetz/main.signflow)

  6. 操作演示请观看顶部的视频

QA

一. 数据存储

数据的存储选择了两种不同的存储方式

  1. Tampermonkey自带的数据存储, 这部分的数据为相对重要的数据, 数据量较小的数据, 如关注的专栏, 屏蔽掉的用户, 屏蔽掉的话题, 问题

  2. IndexedDB, 反之, 用于大规模的数据的存储, 如收藏的文章(以及其生成的摘要, 备注, 标签等),屏蔽掉的答案或专栏文章

注:

  1. 使用IndexedDB存储的问题, 这是高度受制于浏览器, 如同源限制(简单的理解就是zhuanlan.zhihu.com无法和www.zhihu.com进行直接的数据访问), 限制了IndexedDB的可用性
  2. 注意IndexedDB存储的数据会在清理浏览器, 或者使用管家类(xx垃圾清理, 隐私保护等噱头的工具软件)"清理"电脑时, 会一并移除
  3. 用户所有的使用数据均为本地存储

二. 阅读器相关

阅读器, 即在问题|答案页面的阅读模式

  1. 由于知乎的答案是采用懒加载模式,(即你滚动到特定的页面时, 才加载数据), 而在阅读模式下, 是很难触发滚动来加载后续的数据, 原页面依然还有内容, 可能在阅读模式下, 但无法浏览后续答案的情况, 需要退出阅读模式, 手动下拉页面触发数据加载

  2. 页面潜在崩溃, 在阅读模式下采用模拟滚动来加载后续的数据, 短期内可能由于滚动过快, 过于频繁, 触发大量数据加载, 导致页面可能出现崩溃(亦或者知乎页面的反爬保护)