屏蔽是个很好的功能。它既是过滤有效信息的关键道具之一,也是不想看对方某方面的发言却又不想 Unfo 得罪他的社交法宝,还是不感兴趣的重大事件发生时,信息风暴中的避风港。

Tweetbot 有着完整的屏蔽系统。这个级别的社交应用,肯定会支持关键词、用户、客户端、标签这些东西的过滤。但做到这些只是基础,Tweetbot 有两样过滤上的进阶功能,是追随者和模仿者没做到的:第一样是通过正则表达式过滤关键字;第二样是通过 URL 分享过滤规则,别人点了这个规则,就能直接把规则添加到自己的 Tweetbot 之中。

这两个地方,也许小众,却更能凸显开发者个人对体验的细腻理解和对效率的追求。

用正则表达式来屏蔽不想看的内容

正则表达式(Regular Expression)在提高效率方面是个非常实用的东西,在 Workflow 的进阶动作里有大量应用,有一些动作不懂正则表达式就完全做不到。所以可以说,想成为 Power User 的话,正则表达式不得不学。好在它没有什么难度,是典型的 Learning by doing,边用边学就能上手。虽然精通比较难,但在入门阶段,你只要能把你想做的东西做出来,我觉得就可以。

关键词过滤这个东西,用正则表达式(Regular Expression)从操作次数上和匹配范围上都更有效率。先举个简单的例子。

美国大选的时候大家估计都没少被「川普」、「希拉里」这些词刷屏。因为我在 Twitter 上没有 fo 任何热衷于谈政治的国人,所以当时没有被中文政治推刷屏。但国外的科技圈在这次大选也是热闹得不行。Tweetbot 的开发者 Paul 大概也不乐意看这群科技精英品评政治,很快就分享出了下面这个条过滤规则:

(?i)(Trump|Clinton|Cruz|Election|President|Republican|Democrat)

这条规则的效果是屏蔽所有含有 「Trump」、「Clinton」、「Election」、「President」、「Republican」、「Democrat」的推文。然后我们来细看每个元素。

  • (?i) :对大小写进行模糊处理,比如「Trump」和「trump」都会被过滤;
  • |:分割线,可以理解为「或」,「Trump|Clinton」意为「Trump」和「Clinton」都会被过滤;
  • 括号:在这里是对要处理的内容进行分组的意思(应该很容易看出来)。

通过正则表达式,本来要建立 7 个关键词规则,现在 1 个规则就够了。

你添加的时候可能会意识到,正则表达式这个功能在 Tweetbot 是隐藏的。因为在屏蔽菜单里选择「Add Keyword」的时候,你看不到「Regular Expression(正则表达式)」这个选项。正常输入关键字也没有,只有当你输入一些正则表达式特有的符号时,这个地方才会出现「Regular Expression」这个开关。不要忘了把它打开。

屏蔽悼念推

除了政治事件以外,还有一种信息风暴是名人忌日,有真爱粉,也不乏蹭热度、怕被人说过时的跟风者。不论是哪种,谁的忌日对于我来说并不重要。我们尊重所有人对他偶像的尊重和怀念,但我选择从时间线把这些信息过滤出去:

(?i)(RIP|R.I.P)

这条也是针对英文世界的,屏蔽了「RIP」和「R.I.P」两种典型的悼念推。

屏蔽社交状态汇报推

一直以来推上都有一种工具,它定期用你的账户发一条推,汇报一下这段时间有多少人 Fo 你了,多少人 Unfo 你了,或者你自己发了多少条推。如果不想看见这种推,也可以选择用正则表达式匹配一些关键字来净化时间线。因为很简单,所以大家不妨自己动手写一下试试。

更多示例

在使用的过程中我也搜集了不少别人写的,比如大量 at 别人的推,用 Tag 标整句话这种影响阅读体验的推,签到推等……

首先是 GitHub 用户 imathis 的部分规则

过滤含有超过三个标签的推文

#[^#]+#[^#]+#

过滤标签超过 15 个字符的推文,这主要是防一些人用 Tag 当高亮,全文都带 Tag 发。

#[^ ]{15}

过滤 At 超过 4 个人的推文

@[^@]+@[^@]+@[^@]+@

过滤连续 RT 三次以上的推文

RT[^RT]+RT

下面是 jimmynotjim 的部分规则

地点签到推,第一条是过滤 Path,后面三条是过滤 Foursquare(也许日后需要根据这些应用分享方式的变化而调整)。

\(at [a-zA-z0-9_ ]*\) — http://[^ ]+$

w/ @[^@]+ http://[^ ]+$

w/ [0-9]+ others http://[^ ]+$

\(@ [a-zA-Z0-9_/ ] w/ [0-9]+ others*\) http://[^ ]+$

分享屏蔽规则

Tweetbot 有一个 URL 是没有在他的官方 URL Schemes 文档里提到的——屏蔽的 URL:

tweetbot:///mute/keyword?text=关键字

这个格式的 URL 在 Tweetbot 里是可以被识别成链接的(但是在官方客户端不行)。在以前,这个链接点了就会直接弹出 Tweetbot 的屏蔽界面并且把关键字里的内容填写到应被填的地方:

通过 URL 直接跳转到屏蔽规则界面并填入关键字

所以当时,我们如果想分享一个屏蔽规则,只要这样发一个 URL 出去,别人点了就可以直接省去进入屏蔽界面和输入的步骤,点一下「Save」就能解决问题。

但是现在这个地方点一下不会马上有反应,要等等,或者你切到别的应用再切回来才管用。不过还有一个办法可以非常快地通过这个链接弹出屏蔽关键字的菜单。

首先当你看到别人发的 Tweetbot 屏蔽规则的 URL 时,你先把那个 URL 复制下来。然后拉出通知中心,使用 Pin 或者 Launcher 等启动器里直接打开链接的动作(都是内置动作)。这样就会自动跳转到 Tweetbot,并弹出已经帮你填好的屏蔽规则。

注意:关键字部分如果是正则表达式或者比较复杂的内容,最好对内容进行一下编码,否则会出现不被识别成 URL 的情况

另外,如果关键字部分是正则表达式,我建议你使用下面这个 URL:

tweetbot:///mute/keyword?regex=1&text=关键字

它比前面那个多了一小段儿 regex=1,它的意思可以理解为「后面的 Text 里是正则表达式」。添加了它之后,弹出的屏蔽规则界面,会自动打开正则表达式的开关,省得你忘。

最后,这些技巧在 Mac 上当然也是有效的:

这只是 Tweetbot 使用技巧的一部分,这个应用还有不少好玩的地方,以后慢慢分享给大家。