iOS 上的笔记 App 千千万,每隔一段时间就会出现一些新宠,但却罕有「xxx 能代替 Drafts」的言论。其原因一是在于 Drafts 的极简和极简带来的极速,另一个原因就是它在极简外貌之下隐藏的强大功能,其中就对 URL Schemes 的支持。
不同于 Launch Center Pro,Drafts 一直在小步进化。但是在饺子如何是好这位作者之后,少数派再也没作者对 Drafts 进行过系统或局部的介绍,导致从《强大如怪物:顶级文本处理应用 Drafts 4 深度评测》之后,中文圈就没什么对这款工具的深入的使用交流了。所以 Drafts 有很多新特性没有让更多的人知晓,这一篇就介绍其中一个很顺手的标签 [[line]]。 模板与标签(Templates and Tags),是 Drafts 针对自己写作工具的身份,对 URL Schemes 的利用进行的特殊改良。通过这些标签,我们可以把 Drafts 的笔记中的各个部分指定到目标 App 笔记的各个位置,比如 Bear。
URL:
bear://x-callback-url/create?title=[[title]]&text=[[line|3..]]&tags=[[line|2]]
这篇文章讲解的,就是将 Drafts 的第一行内容作为标题(Title)、第二行作为标签(Tag),剩下的作为正文,发送到 Bear。我们当然也可以举一反三,应用到「发送到 Evernote」等动作里。
动作配置见文末。
Drafts 中的 [[line]] 标签
在 Drafts 的 URL Schemes 里可以使用非常多的标签,其中有我们比较熟悉的:
[[draft]]:Drafts 中草稿的全文
[[title]]:Drafts 中草稿全文的第一行
[[body]]:Drafts 中除了草稿第一行的全文
[[selection]]:Drafts 中的草稿被选中的文本
[[clipboard]]:剪切板内容
[[date]]:以 YYYY-MM-DD(比如 2017-11-21)格式记录的日期 在这之后都是很少被人知道的 Tag,有兴趣的可以自己挖掘一下,我这次只把我觉得非常好用但很少人注意到的 [[line]] 这个标签跟大家说明一下。
四种不同的 [[line]] 形式
[[line]] 这个标签有 4 种不同的使用形式:
[[line|n]]:这代表取 Drafts 草稿的第 n 行的文本
[[line|n..n]]:这代表取 Drafts 草稿的第 n 行到第 n 行的文本,比如 [[line|1..3]],代表草稿中的第一到第三行。根据这一种,可以再拆出两种使用形式;
[[line|n..]]:从第 n 行到最后;
[[line|..n]]:从最开始到第 n 行。
根据这几种形式,不管是单行还是某个范围的文本,你都可以用 [[line]] 这个标签把它们精确指定。所以在 Drafts 中模板设置的时候利用好这个标签,可以极大提高 Drafts 草稿的写作效率。
Bear 的偏数据传递型的动作
在上周的《通过 Bear 来认识 Launch Center Pro 的进阶用法》里已经提过了 Bear 的 URL 前缀:bear://x-callback-url/,以及 Bear 的 URL Schemes 能做到的 12 个动作,其中数据传递型的是这三种:
创建:/create
附加文本:/add-text
附加文件:/add-file
在文首的视频里展示的是用 Drafts 草稿的第一行做标题、第二行做标签、余下的内容做正文。所以在这三种动作里,只有创建(/create)笔记适合做这篇文章的示例,也最常用。附加文件不用说,Drafts 不擅做这种事,而附加文本一般不会需要再指定标签和标题,所以也不适合。
在 /create 这个动作下,有 7 个变量,我们这篇文章要用到的是这 3 个:
title:标题
text:正文
tags:标签,多个标签之间可以用逗号隔离
所以,把所有要用到的 URL 串起来,就是: bear://x-callback-url/create?title=标题&text=正文&tags=标签
结合 Drafts 和 Bear 的 URL
现在我们利用 Drafts URL Schemes 中的 [[line]] 标签,把它融入到 Bear 的 URL Schemes 中:
bear://x-callback-url/create?title=[[title]]&text=[[line|3..]]&tags=[[line|2]]
在 URL Schemes 里,动作 之后的 变量 的顺序是无所谓的,也就是说在上面的 URL Schemes 里,/create? 后面的三个变量 title、text、tags 谁先谁后都无所谓。
通过上面这个 URL Schemes,我们就可以做到文首视频中的,按照预订格式--把第一行作为标题,把第二行作为标签,把第三行开始的文本作为正文--把文本发送到 Bear。
如果你想做到文首视频中 Evernote 的效果,只要照图中设置:
同样可以做到文首视频中的样式。