【071】12周 通过 Bear 来认识 Launch Center Pro 的进阶用法

Hum
2017年11月15日

通过 Bear 来认识 Launch Center Pro 的进阶用法

| 本文为付费栏目文章,您已订阅,可阅读全文 |
注:本文默认读者对 URL Schemes 有基本的认识,如果完全没听过这个概念的话可以看《URL Schemes 使用详解》一文。
作为 iOS 为数不多的自动化手段,URL Schemes 在 Workflow 出世后日渐式微,但明眼人会知道 Workflow 也并没有真正打通沙盒的壁垒,本地 App 传输数据的自动化方法仍然只能依靠 URL Schemes。因此注重 Power User 使用的 App 依然会老老实实地支持 URL Schemes,比如 Ulysses、Bear、DEVONThink To Go、OmniFocus……Workflow 只是把一些特别受欢迎的 App 的 URL Schemes 做成图形界面,来做到相关的功能。
鉴于很多人喜欢 Bear,同时 Bear 也对 URL Schemes 进行了非常完备的支持,所以我打算以 Bear 为例,写两篇文章,来分别介绍 Launch Center Pro 和 Drafts 中 URL Schemes 的进阶用法,这是第一篇。

操作型和写作型的 URL Schemes 工具

在所有利用 URL Schemes 的工具里,只有两个将它发挥到了极致,这两个工具一个是 Launch Center Pro,另一个是 Drafts。两者并立于世,定位非常不同:前者长于操作,后者长于写作,这实际上也是 URL Schemes 大多数情况下功能的划分:跳转操作和数据传递。
Bear 这类写作工具的功能,也正好可以划分到这两类。
  • 打开、搜索、抓文到 Bear 这些功能,是偏操作型的;
  • 创建新文本、附加文本到文首/文末,则偏数据传递型的;
那么在第一篇文章,我们就结合 Bear 的操作型功能,来挖掘它在 Launch Center Pro 的进阶用法之一——列表。

Bear 的操作型 URL Schemes

Bear 对 URL Schemes 的支持非常完备,它的前缀是:bear://x-callback-url/,动作(Actions)分为以下 12 种:
偏操作型:
  1. 打开:/open-note
  2. 打开标签:/open-tag
  3. 重命名标签:/rename-tag
  4. 删除标签:/delete-tag
  5. 搜索:/search
  6. 抓文:grab-url
  7. 更换主题:/change-theme
  8. 更换字体:/change-font
  9. 打开垃圾箱:/trash
偏数据传递型:
  1. 创建:/create
  2. 附加文本:/add-text
  3. 附加文件:/add-file

Bear 的搜索功能

在上面的 12 种动作里,我们取操作型动作里的搜索(/search),因为搜索这个功能,既足够复杂又足够实用。把搜索搞定,就能轻松理解其他 Bear 的操作型动作。
「搜索」这个动作的 URL 非常简单,带上前缀,它是:
bear://x-callback-url/search
你在 Launch Center Pro 里加入这个动作,再选择它,就能直接打开 Bear,并且看到光标在搜索框闪烁。

左:动作设置;右:Bear 跳转后结果
接着,搜索这个 URL 有两个变量(parameters),这两个变量是:
  • 关键字:term
  • 标签:tag
通过利用这两个变量,我们可以进一步缩小搜索范围,把搜索结果精确到 Bear 中某个标签下,含有某个关键字的笔记。比如:在 hbr(哈佛商评) 这个标签下,搜索 生产力 这个关键字,它完整的 URL Schemes 会是:
bear://x-callback-url/search?term=生产力&tag=hbr
注:动作与变量之间用 ?,变量与变量之间用 &,变量与赋值之间用 =
同时,这两个标签是可选标签(optional),所以我们写 URL Schemes 动作的时候,可以带上它们,也可以不带上它们。也就是说可以做到:
  • 只搜 生产力 这个关键词:bear://x-callback-url/search?term=生产力
  • 直接跳转 hbr 这个标签:bear://x-callback-url/search?tag=hbr
所以总结下来,我们仅利用 Bear 中搜索这个动作的 URL,就可以做到以下 4 件事:
  • 跳转到搜索界面;
  • 跳转到搜索界面,并搜索某个关键词;
  • 跳转到某个标签界面;
  • 跳转到某个标签界面,并搜索该标签下的关键词。
那么接下来,要解决的就是如何在 Launch Center Pro 中用一个动作做到这一点。

Launch Center Pro 的列表

列表是 Launch Center Pro 对 URL Schemes 利用的一个创新,它使 URL Schemes 更加灵活,有更多选择。在 Launch Center Pro 中,它的语法是:
[list:列表名|动作名1=动作1 URL|动作名2=动作2 URL]
比如我要做个列表动作,点它之后会让我选是打开墨客还是 Tweetbot,那么这个 URL 应该写:
[list:打开哪个|墨客=moke://|Tweetbot=tweetbot://]

简单的列表动作

列表嵌套

有趣的地方就在于,这个列表的功能可以嵌套,也就是说一层列表里还可以再套一层列表。
拿 1Password 来举例,1Password 的 URL Schemes 里也有搜索,我们早先都会在 Launch Center Pro 里做一个 1Password 动作,其中预置一些常用的账户,省得手输。因为账户很多,所以我们会把这些账户分类,比如我的就有三大类:Essential(最常用的账户)、Social(社交账户)、Shopping(购物账户)。那么在 Social 这个类别里我会放微博、Twitter 等账户。

列表嵌套
所以它的第一层列表,是 EssentialSocialShopping,点进去 Social 之后,还有 WeiboTwitter。这种 URL 可以写为:
onepassword://search/[list|Essential=[list:Essential|Google=Google|Dropbox=Dropbox]|Shopping=[list:Shopping|淘宝=taobao|亚马逊=amazon]|Social=[list:Social|Twitter=Twitter|微博=weibo]|输入=[prompt]]
如果有层级一点看的话,是:

1Password 动作分解
黄色的是在 Launch Center Pro 里我们能看到的部分,蓝色的是最终在 1Password 里搜索的关键字,绿色的是 Launch Center Pro 的 URL Schemes 使用的动作语法。
这里希望大家注意到的是最后绿色的 [prompt],它是 Launch Center Pro 里调用键盘进行输入的动作语法。如果预置的项目里没有要搜的账户,可以选这个 [prompt] 来输入我想搜索的账户,再跳转。
所以这个 URL 显示出:
  1. Launch Center Pro 的列表功能可以做到多层嵌套;
  2. 你可以把主 URL 放在外面,只把需要选择的部分放到列表里面(而且你应该这样做);
  3. Launch Center Pro 有个输入的语法,是 [prompt]

结合 LCP 的列表与 Bear 的搜索

现在我们明白了 Bear 的搜索语法,以及 Launch Center Pro 的列表语法,剩下的就是把它们套在一起了。我们要做到的是——一个动作,灵活地完成这四件事:
  1. 只跳转到搜索界面;
  2. 跳转到搜索界面,并搜索某个关键词;
  3. 只跳转到某个标签界面;
  4. 跳转到某个标签界面,并搜索该标签下的关键词。
做到这点的 URL 如下:
bear://x-callback-url/search?term=[list:内容|搜索内容=[prompt]|不搜索内容=]&[list:标签|搜索标签=tag=[prompt]|不搜索标签=]
按照刚才带有层级的格式是:

Bear 动作分解
这里有两个特别的地方,第一个是 tag=[prompt] 用的是蓝色,也就是说它是 bear 的 URL Schemes 的一部分;第二个是在不搜索内容不搜索标签这两项的等号后面,没有任何内容。这样就保证我们可以只跳转标签,或者不带标签地搜索内容。
但是上面这个 URL 并没有做列表嵌套,在我的使用中,我把单纯打开 Bear 的 URL 也做近了这个动作,所以最终我在用的动作是:
bear://x-callback-url/[list:Bear Action|Open=bear://|Search=search?term=[list:内容|搜索内容=[prompt]|不搜索内容=]&[list:标签|搜索标签=tag=[prompt]|不搜索标签=]]
这个动作就不分解了,如果你在用 Bear 的话可以直接粘贴到 Launch Center Pro 里使用。
以上就是如何把 Bear 搜索的 URL Schemes,利用列表嵌套做到 Launch Center Pro 之中,使一个动作可以灵活地完成多种复合的操作。之后我会再写一篇文章,结合 Bear 的写作方面的 URL Schemes,介绍 Drafts 的一些对 URL Schemes 的改造而产生的进阶功能。

上一期
相册清理工具 PhotoSweeper | 工具推荐
下一期
苹果环境下半自动化的文件处理流程思路
 
精选评论(1) 我的评论
  • ringsaturn
    我从 8 月底,开始在电子设备上记录各种胡思乱想,先是 MWeb ,再到利用 Workflow, Drafts 修改 Dropbox 文件。因为担心潜在的断网风险,10 月初开始用 Bear.

    Launch Center Pro 的 URL Schemes 如下:

    bear://x-callback-url/add-text?text={{[textexpander:ttime][prompt-return]}}&title=[textexpander:ddate]&x-success={{launch://}}

    ttime 是为添加记录补充上时间。ddate 是日期,也是日记的标题。Bear 如果没找到就会再创建一条。

    这个方法也有问题,就是 Bear 需要打开才能同步。也就说,如果电脑添加/修改日记后,手机直接走 Launch Center Pro 添加记录,Bear 在那个瞬间是没有同步的,于是就创建出新的一条日记。或者会检测到冲突,显示出冲突日记。如果是 Dropbox 就没有这个问题了。


    每晚,用 Workflow 导出 Bear 存储的内容并添加到 Day One 中。参考:https://workflow.is/workflows/22a4ddfcde92480381ce10286c8f6f6a






    2017年11月18日