重新开始使用 RSS 阅读器 - V2EX
请不要在回答技术问题时复制粘贴 AI 生成的内容
reorx

重新开始使用 RSS 阅读器

  •  2
     
  •   reorx
    reorx May 12, 2022 15236 views
    This topic created in 1476 days ago, the information mentioned may be changed or developed.

    不算成功的开端

    我曾经是一个糟糕的 RSS 用户。

    早在 Google Reader 流行的时期,我就热衷于将我感兴趣的资讯网站和博客订阅到 Google Reader 中 [^1],期盼着能从这些信息中获得有价值的东西,却总是因为懒或者忘了而不能及时查看。随着未读数的增多,焦虑感越来越强烈,最后索性不再打开阅读器,安慰自己以后总会去看的,只要订阅了就行,沉浸在虚假的满足感中。

    我就像一个喜欢屯书的人,在 RSS 阅读器这个书架上摆满了放上去就再也没动过的书[^2]。

    后来我认识到,自己得了信息资源的囤积病,经过长时间的反思后,我下决心清理 RSS 订阅源。

    我删除了所有资讯类网站,只留下个人博客;去掉长期未更新的,并重新审视每个博客是否是我真正想要去阅读的。最终留下大约 30 多个 RSS 源,每周的更新量被控制在 10-20 之间。自此以后,我才真正做到阅读每篇更新,也没有再因为未读数量而焦虑了。

    再之后,我看到许多人分享自己的 RSS 使用经验[^3],将 RSS 作为获取信息的效率工具,聚合和筛选资讯,甚至成为 all-in-one 的信息输入渠道。这些文章偶尔会让我蠢蠢欲动,但因担心摄入压力过大而重蹈覆辙,我总是很快熄灭了尝试的想法。

    就这样,我从一个糟糕的 RSS 用户,变成了一个克制但低效的用户,不再每天使用,只在有提醒时打开看看博客的更新。生活继续。

    重新发现 RSS

    最近我开始经常逛 V2EX 。我最早的活跃时期是 2010~2013 ,后来因为沉迷工作,和陌生人的交流欲降低,兴趣转移到 Twitter 。今年自由工作后,思维又活跃起来,回过头来发现经过 10 年时间,V2EX 依然是国内最好的开发者社区。

    V2EX 有着丰富的 RSS 支持,在 V2EX 提醒系统 页面可以获得提醒的 RSS 订阅源。为了及时收到消息通知,我开始琢磨如何利用这一功能,于是整理了下需求:

    • 直接订阅 RSS ,不需要借助第三方服务
    • 支持 macS 和 iOS ,同步未读条目
    • 简洁清爽的界面

    很快,我锁定了完美满足这三点的 NetNewsWire

    NetNewsWire 发布于 20 年前,是 macOS 上历史最悠久的 RSS 阅读器。我虽然很早就知道它,却一直没有尝试,使用的是更受追捧的 Reeder ,但 Reeder 最近的几次付费更新有些令人失望,没有什么有趣的变更,我也厌倦了它那软绵绵的 UI 风格。

    NetNewsWire 让我眼前一亮,它使用 macOS 原生的 UI 组件,适应起来没有任何障碍。打开就算经典的三栏布局,没有多余的选项,让我感觉真正在使用一个信息组织工具,而非另一个漂亮的玩具。

    Minimal and no distraction, 这是我对 NetNewsWire 的整体印象。我很快就爱上了它,逐渐把我其他几个正在摄取的信息源也添加了上去。

    现在我的 RSS 订阅结构是这样的:

    • V2EX

      • 节点

        我只对一些特定的节点有逐条浏览的兴趣,V2EX 每个节点都可以输出 RSS ,只需要将 https://v2ex.com/feed/{node}.xml{node} 替换为节点的英文名即可。

      • Top Topics

        V2EX 本身没有最热话题的 RSS ,幸运的是,RSSHub 提供了一个公开的源。

    • Hacker News

      Hackers News 的信息量太大,不适合直接订阅,好在 hacker_news_feed 这个 Telegram 频道对内容进行了筛选,只推送分数大于 100 的条目。同样要感谢 RSSHub ,用它将 Telegram 频道转换成了 RSS feed 。

    • Obsidian

      作为 Obsidian 重度使用者和插件维护者,我非常关注社区的动向。Obsidian 社区信息主要来自于官方 Discourse 论坛subreddit。两者都是通过在 URL 后面加上 .rss 即可获得订阅源(如 ShowcaseObsidianMD

    • 提醒

    经过一段时间的使用,我开心地发现,自己已经能每日有效摄入上百条信息而没有焦虑。我通常是在碎片时间打开手机观看,比如早上蹲马桶时、运动后和睡前。当遇到有趣的信息时,就点击 Star 收藏,如果特别需要关注或后续调研,就在 TickTick 添加一个对应的 TODO 项。要是忙起来积攒了许多未读,我就快速划过快速 Star ,然后一次性 Mark All as Read 。

    进一步优化

    V2EX 的程序员节点中经常出现 Java 相关的话题,但我的技能体系与 Java 无关,因此我想过滤掉这些对我而言无用的信息。

    NetNewsWire 有一个相关的 issue,却并没有实现。Inoreader 和 Tiny Tiny RSS 等聚合器虽然支持,但我希望保持目前直接订阅原始 RSS 源的工作流,不想引入另一个工具增加复杂度。怎么办呢?

    我决定自己开发一个轻量的 serverless 服务: rss-filter。(现在还没有完成,所以读者朋友们可以不急着 star 鼓励。)

    rss-filter 的大致设计如下:

    • 部署在 serverless 平台
    • 通过 url 参数使用
      • rss: rss url
      • exclude_text[]: regex to exclude items from text (title, description, content)
      • exclude_text[]: regex to include items from text
        • if both include and exclude are provided, apply include before exclude.
      • cache_seconds: seconds to cache the result
      • debug: if true, return a json to debug
      • token: prevent abuse by anonymous users
      • full_content: fetch full content of each item

    我设想 rss-filter 完成后,只需要简单的设定参数即可创造一个过滤后的 RSS 源。比如我想要从程序员节点过滤掉 Java 相关的条目,那么新的 RSS 源应为:

    https://rss-filter.reorx.com/filter?rss=https%3A%2F%2Fv2ex.com%2Ffeed%2Fprogrammer.xml&exclude_text=java%7Cspring+%3Fboot%7Clog4j&cache_secOnds=600 

    其中 exclude_textjava|spring ?boot|log4j,用正则匹配多种不同的关键词。

    一些思考

    RSS 的用法因人而异,这篇文章主要目的是分享我个人的探索过程,希望带给读者一些借鉴。选择适合自己的,不要盲目追求别人看起来「高效」「强大」的工作流。

    前几天 涛叔 向我推荐了他的 WebFeed 插件 (for Firefox),它把浏览器变成 RSS 阅读器,并能自动发现网站的 RSS 源。

    我很喜欢它的 Web 与 RSS 一体的使用体验,这让我开始思考一个问题,为何近些年来 RSS 逐渐式微,主流浏览器厂商没有做任何相关的支持[^3],只有少部分开源爱好者还在坚持使用并为 RSS 社区做出贡献。

    我能想到的答案之一是,商业公司在控制和引导互联网生态,将公开流量变成自己的私域流量。而主流浏览器背后正好也都是商业公司。想象一下,如果所有内容都来自于独立博客的 RSS ,作者可以直达受众,那内容分发市场的商业价值就没他们什么事了,更不用说将用户绑定在自己的平台上。

    另一个原因可能是内容农场的肆虐,独立创作者很难靠自己将原创内容推广,内容农场却通过 SEO 技术将自己洗稿后的文章顶在了搜索结果的前面。关于这个问题,少数派有一篇文章值得一读: 少数派思考 007:关于 RSS

    这是一场没有硝烟的战争,商业巨头们就像地理大发现时期的西方文明,在开放互联网的蒙昧之地大肆开拓殖民地。国外近些年来还有 Medium 、Newsletter 等多种形式的内容分发模式百花齐放,国内已经被头条、微信、微博、百度完成瓜分和镇压,沦为没有生机的焦土。

    但即使在这样的环境下,我还是希望能成为一个纯粹的内容创作者,为别人带来启发和帮助,为自己实现学习和思考的价值。

    欢迎你来订阅我的博客:

    https://reorx.com/feed.xml

    最后推荐一篇文章 RSS Feed Best Practises, 如果你也是一名维护自己博客的 webmaster ,可以了解下如何优化自己网站输出的 RSS 。

    比如加上 <link> tag 使 RSS URL 可以被主流工具自动发现:

    <link rel=alternate title="Blog Posts" type=application/atom+xml href="/feed.atom"> 

    比如最好在 RSS 中附带全文:

    It is generally recommended to provide the full content of your posts in the feed. This is what most readers prefer. Atom has both <summary> element for readers that prefer it. For RSS and the Atom <content> element the full article should be included.


    [^1]: 当时使用了一款 Chrome 插件,会自动检测当前网页可用的 RSS 源,如果有的话,会在地址栏里显示 RSS 图标,点击图标就能看见 Google Reader 中的目录分类,勾选即是将 RSS 订阅到指定分类中。我非常喜欢这个插件,可惜后来 Chrome 去掉了地址栏图标的 API ,再也无法实现相似的功能了。

    [^2]: 亦像一个喜欢在 Steam 屯游戏的人,买了上千个游戏,但每天玩的还是 Dota 2, CS GO, GTA 5

    [^3]: Chrome 背后的 Google ,在手机 app 上实现了自己的 Discover Feed ; Edge 有一个叫 Collections 的功能,可以 “Follow” 一个网站的更新。那为什么我要说没有支持呢?因为这些都不是真正的 RSS ,它们背后的技术可能还是 RSS ,但在产品上都刻意忽略 RSS 、强调自己的名词。他们各造轮子实现自己的私有功能,仍是为了将用户关在自己的信息茧房中。

    31 replies    2022-08-29 18:21:01 +08:00
    Tianyan
        1
    Tianyan  
       May 12, 2022
    inor..
    Tianyan
        2
    Tianyan  
       May 12, 2022   1
    inorea..
    Immortal
        3
    Immortal  
       May 12, 2022
    OP,新手入门 Obsidian 有推荐资料么
    Immortal
        5
    Immortal  
       May 12, 2022
    @crab #4
    我也有点阅这个博主,也是看了他的文章和视频种得草
    Issacx
        6
    Issacx  
       May 12, 2022
    我用 Reeder 是因为它能 icloud 同步阅读进度,最近还添加了对 twitter 和 reddit 的支持。
    typig001
        7
    typig001  
       May 12, 2022 via iPhone
    viator42
        8
    viator42  
       May 12, 2022 via Android
    ionreader 收费之后就再没找到合适的阅读器
    reorx
        9
    reorx  
    OP
       May 12, 2022   1
    @Immortal catcoding 的视频是很好的 beginner's guide, 你应该已经看过了。其他的可以翻翻 AllinBon 的知乎专栏,他是中文社区的运营 https://www.zhihu.com/column/c_1302994040707948544

    我其实也有打算写下我的 Obsidian 使用技巧,有兴趣的话完成后通知你。
    reorx
        10
    reorx  
    OP
       May 12, 2022
    @Tianyan 我阅读博客用的就是 Inoreader ,但我只是个基础付费用户,没有开通 filter 的功能。

    @viator42 是这样,所以想自给自足解决一些功能上的需求。
    reorx
        11
    reorx  
    OP
       May 12, 2022
    @Issacx 是的,我记得两端都得买,好贵。所以不觉得 NetNewsWire 也有 iCloud 同步和 twitter/reddit 支持很神奇吗。
    Immortal
        12
    Immortal  
       May 12, 2022
    @reorx #9
    谢谢 到时候务必 @下我,我很有兴趣

    @typig001 #7
    @crab #4
    谢谢两位推荐,我晚上学习一下

    @reorx #11
    NetNewsWire 什么都好,就是迟迟不肯添加 proxy,一些国外的博主或者一些订阅源(尤其是 rsshub,虽然可以自建)必须手动挂了全局代理再刷新订阅
    Issacx
        13
    Issacx  
       May 12, 2022
    @reorx 哈哈哈,刚看了下确实是。我记得我买 Reeder 的时候 NetNewsWire 还没有对 iCloud 的支持。
    nijux
        14
    nijux  
       May 12, 2022
    可以用 ttrss 转一下然后在订阅 ttrss 中的链接就行了,全文输出、过滤什么的功能都有
    eryajf
        15
    eryajf  
       May 12, 2022
    @Immortal 我的入门笔记,分享给你: https://wiki.eryajf.net/pages/6ed7fe/
    reorx
        16
    reorx  
    OP
       May 12, 2022
    @nijux 嗯,是有考虑过用 ttrss ,但觉得只是为了用 filter 功能去 self-host 一个新的服务有点重了,所以才有了开发一个 serverless function 的想法,利用 cloudflare workers 的免费额度省掉服务器的开支。
    yukang
        17
    yukang  
       May 12, 2022   2
    对于 RSS ,我自己写了一个简单的解析和爬虫,
    https://github.com/chenyukang/obweb/blob/main/backend/rss.js
    部署在服务器上,我会尝试把图片和全文都拉取下来,
    然后能通过 web 访问,这样手机端也可以很方便地使用。
    这里有些介绍: https://catcoding.me/p/intro-to-obweb/

    有些想把这个剥离出来做成一个纯 RSS 的工具,前端技能只够自用,哈哈。
    以后有精力再整整。
    Immortal
        18
    Immortal  
       May 12, 2022
    @eryajf #15
    谢谢 博客很赞
    yukang
        19
    yukang  
       May 12, 2022
    @Immortal
    用起来就行了,先就当作一个 markdown 编辑器,
    然后根据自己的需求再配置
    reorx
        20
    reorx  
    OP
       May 12, 2022
    @yukang 赞,回头我去偷点获取全文的代码
    Immortal
        21
    Immortal  
       May 12, 2022
    @yukang #19
    谢谢 目前确实只是当一个 Markdown 的编辑器在使用 haha
    zooo
        22
    zooo  
       May 12, 2022
    突然想起来,百度 /google 都搜不到微信公众号的文章
    求一个搜索引擎可以搜索微信公众号的内容
    leon0318
        23
    leon0318  
       May 12, 2022 via iPhone
    @viator42 feedly 啊
    e1d4py0KiD6KgqkQ
        24
    e1d4py0KiD6KgqkQ  
       May 13, 2022 via Android
    最近 V 站大佬推出的关于自己信息源处理收集对安卓用户不怎么友好啊,发现有些推荐的 app 只有苹果,不支持安卓,是我不配吗
    e1d4py0KiD6KgqkQ
        25
    e1d4py0KiD6KgqkQ  
       May 13, 2022 via Android
    @leonme 我也在用 feedly
    reorx
        26
    reorx  
    OP
       May 13, 2022
    @xuxinglin8888 其实对安卓不友好是大环境导致的,很多年前 V2EX 上有相当高比例的安卓用户,但这些年来由于墙的存在,真正的安卓(不是国内厂商的垃圾货)没法拥有很好的使用体验,大家为了省心都纷纷迁移到了苹果。安卓有很多我眼馋的特性,很多功能在我看来远比 iOS 强大,如果我现在生活在国外,绝对会把 Pixel 当做主力机的。
    e1d4py0KiD6KgqkQ
        27
    e1d4py0KiD6KgqkQ  
       May 13, 2022 via Android
    打算年底入手 pixel7国内机功能对我来说可有可无,所以相对来说我更喜欢亲儿子,反正都要翻梯子
    VictorCheng
        28
    VictorCheng  
       May 13, 2022
    @Tianyan inoreader 我订阅的源更新有严重延迟,而且会缺条目(昨天的文章今天才到,而且明明 xml 文件里有五六篇,就只更新了一篇),不知道是我的问题还是它的问题
    Ozonated
        29
    Ozonated  
       Jun 21, 2022
    NetNewsWire 没有中文搜索,就比较烦
    Kawauso
        30
    Kawauso  
       Jul 13, 2022 via iPhone
    @Ozonated 我也遇到这个问题了
    /td>
    SekiBetu
        31
    SekiBetu  
       Aug 29, 2022
    @VictorCheng 买会员可以降低拉取时间间隔,ino 就是这样赚钱的,或者你搞个离线的软件定时拉取订阅,这样就没时间限制
    About     Help     Advertise     Blog     API     FAQ     Solana     5358 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 85ms UTC 07:22 PVG 15:22 LAX 00:22 JFK 03:22
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86