继下午研究了许久的 Due
app 的 URL Scheme(由于我忽略了 x-source
这个参数,导致我的 callback
命令一直不成功,一度让我以为 Due 不支持 URL Scheme 了)之后,我又开始研究如何利用 URL 串联多个软件。早在一年前 Drafts
刚开始成名之时就有国外的 URL Scheme 爱好者发了个利用 URL Scheme 串联五个软件的视频1,由于我同样有这样的需求——
将网页发送到 Pocket / Instapaper → 在 Due 中设定一个阅读提醒 → 最后返回浏览器。
由于这个视频是一年前发布的,里面用的办法有点老,于是我想结合新生效率软件 Workflow
来完成这一系列的操作:
With Workflow
首先在 Drafts 中新建一个 Action,指向 URL:
due://x-callback-url/add?title=[[title]]&x-source=next&x-success={{x-callback-instapaper://x-callback-url/add?url=[[title]]&x-success=[[title]]
在 Workflow 中新建,设置 Action Extension
为 URL
然后拖拽这两个操作:
其中 Action 填上第一步中创建的 Action,我的叫 Instapaper
使用过程中,只要点击 Safari 下方的发送
选择run workflow
,再点击第二步新建的 Workflow,一切就顺利成章地进行了。
缺点:
* 由于没找到打开 Safari 的 URL Scheme,所以最后只能以重新打开链接的方式来回到Safari
* 在 Google Chrome 中无法使用这种方法2
In Chrome
由于我更喜欢用 Chrome(与桌面版的进行同步),所以在 Chrome 中我采用了 JavaScript
书签的办法:
新建书签,内容为:
javascript:(function() {window.location='drafts4://x-callback-url/create?text='+encodeURIComponent(window.location)+'&action=Instapaper';})();
在 Drafts 中新建 Action:
due://x-callback-url/add?title=[[title]]&x-source=next&x-success={{x-callback-instapaper://x-callback-url/add?url=[[title]]&x-success=googlechrome://
注意在最后的 x-success
处指向的是 Google Chrome。
使用过程中,打开书签,即可完成一系列操作。
PS
- 第二种方法其实一年前 Alex 就提到了,可惜 Google 了半天只找到一个错误的 JavaScript 书签,只能自己研究,花了我几乎一个晚上的时间(大多数时间都不是浪费在怎么使用 JavaScript,而是浪费在细节的地方比如在 Drafts 中新建的命令是
create
而不是add
) - 不越狱无法指定 Chrome 为默认浏览器,这一点比较难过。
- Drafts Workflow ↩
- 后来发现其实是可以的,点击菜单,分享 ↩