书签订阅 RSS

引言

笔者使用 inoreader 订阅 RSS。 但是知乎专栏,微博等无法转换为 RSS。google 后发现利用 RSSHub 可将各种资源转换为 RSS 订阅。由于手动转换网址为 RSS 过于麻烦,研究后发现了如下解决方案。

预备知识 URL scheme

参考 URL rfc 资源定位符的一般形式为 scheme:schemepart。其中 scheme 决定了资源的访问策略。 在浏览器中一般使用 http,https 访问资源,实际访问地址还可为其他形式

TIP

你甚至可以使用 vscode: 打开 VSCode 编辑器,只要相关应用设置了符合 scheme 策略,浏览器便会根据 scheme 打开应用

可查看 mdn 进一步理解各种 scheme 的使用。

基于上述原则实际上访问地址也可为一段 js 代码。采用 javascript: 即可。例如 javascript:alert('hello world') 该链接会触发 alert('hello world') 执行。

基于此 scheme 我们可以将当前地址转换为 RSS 订阅的逻辑保存为 javascript: 的标签即可。

URL 转换为 RSS 订阅

假设将 github issue 转换为 RSS 订阅。参考 RSSHub github issue 可知需将 issues 链接转换为 https://rsshub.app/github/issue/用户名/用户仓库 订阅地址。

在访问 issue 时,我们需要把从当前地址提取 /用户名/用户仓库 转换为 https://rsshub.app/github/issue/用户名/用户仓库 RSS 订阅地址

利用 location 对象可以很方便的从 URL 提取相应信息。

转换为 RSS 的地址如何触发 inoreader 订阅。利用 https://www.inoreader.com/bookmarklet/subscribe/RSS地址 触发订阅。

综合上述逻辑访问 RSS gist 查看结果,拖动此标签到书签栏查看效果 rss

代码片段保存为标签

既然标签可以执行 javascript 代码,可以建立一个 code 书签,保存常用的脚本标签。此外结合 Vimium 实现快捷调用。

相比 Snippets 需要打开控制台后触发,该方法更方便。

工具