以Evernote为例来谈Drafts的内置动作

Drafts的动作可以分三种,第一种是直接可以在动作管理里找到的默认动作,你无法对此做修改;第二种则是关联相关服务,你有一定程度上的自定义权利。这两种都是内置的,前一种在《玩转Evernote前的准备工作》里已经提过,非常简单不必再提。还有第三种动作是根据其它软件的URL Schemes和x-callback-url来自定义动作,这就不是内置的了,而且够酷,不过相对来说较为复杂。这篇只说第二种:关联相关服务的动作。

以Evernote为例的原因一是实用,二是Evernote的项目较为复杂所以比较全面,能搞定Evernote自然就能搞定其它的内置动作了。

创建动作

首先你要关联Evernote账户,印象笔记是行不通的。然后可以在“Custom Actions”里找到“Evernote Actions”,打开,然后添加一条新动作:

drafts-evernote-1

在填写这些内容之前大家需要先了解一件事,即你现在制作的是一个固定的规则,比如你在笔记本处填写了A,那么通过这个动作写的什么东西都会发到A里;如果你把这个动作的Title定为了B,那么通过这个动作发的所有内容在Evernote的名称显示的都将是B。

①:Title即标题,是在Evernote里创建的时候显示的标题。跟上面的Name不同,Name是这个动作在Drafts里显示的名字。

②:Notebook即笔记本,你可以在此处填写一个你自己的Evernote里已有的笔记本名称,也可以不填写笔记本名称,如果没有填写笔记本米嗯成,笔记会通过这个动作存到Evernote的默认笔记本里。这个默认笔记本的概念请参照《以Drafts作为笔记本》中提到的Inbox的概念。

③:Tags即标签,可以在此处填写你自己的Evernote里已有的标签,也可以填写目前没有的标签,这样的话会自动创建一个新标签。可以不填写标签。可以填写多个标签,用逗号隔开。

在Tags里提个建议,我们可以在这里填一个Drafts,也就是以Drafts作为一个标签。标签的选择是非常自由的,它可以是事物被创造时的环境或工具。你把所有通过Drafts发出的内容都加上一个Drafts的标签,之后可能想不起来相关内容,但你能想到这是通过Drafts发送的,就比较容易查找了。

④:Create/Prepend/Append 即 新建/文头补充/文末补充,这是重要且好用的功能。我们写东西,尤其是积累笔记的时候很未必就是今天写到这完了就完了,我们很有可能会在原笔记的基础上继续添加笔记。使用Evernote.app,我们可以很容易地在文头和文末对内容进行补充。但通过Prepend和Append我们同样可以通过Drafts也很快地做到对同一笔记的文头文末补充。以图为例:

drafts-evernote-2

例如我先推出了一个完全数296,然后又推出了一个新的比296小的完全数28,这时候我想把这个加到296的上面,所以就要用Prepend,即在文头补充。然后我又推出了一个完全数8128,它比296大,所以我想把它加到后面,所以就要用Append,即文末补充。

此处要注意你需要保证补充前后笔记的名称和笔记本一致。当你补充前后笔记本和笔记不一致的时候,Prepend、Append的功能和Create一样:新建一条笔记。

⑤:Template即模板,它实际决定了你发什么到Evernote。比如你在动作A的Template里写了一个“1”,然后在Drafts里写了3000字的文章,然后通过A这个动作把文章发送到Evernote,那么你看到的就会是一个“1”。

我们看到默认的模板里有[[draft]]这样的字符,这个[[drafts]]就是Drafts的Tag系统其中一个Tag(可能大家容易搞混draft和Drafts。当我们说Drafts的时候,是指这个软件,而说draft的时候,是指我们打开这个软件以后在界面上输入的内容)。通过这个Tag系统,我们可以很灵活的在编辑内容时决定我们笔记的标题,也可以一定程度上简化输入,还可以玩一些很Cool的东西。会在后面详细介绍。

Temple支持Markdown,确切地说是Drafts整个都支持Markdown。所以如果是Mail的Temple,你可以在里面做一个简单的落款,例如你想在落款里加上你的微博,同时想让别人点这个微博名就能自动跳转到微博,那么你就可以通过Markdown的格式非常简单地做一个这样的落款。总之,用Drafts这样自由度很高的软件软件,想象力才是你最大的限制。

⑥:Tag Help即Drafts内置的Tags的使用帮助,这里的Tag不是标签,而是文本代替。不仅可以在软件的主界面使用,而且可以在模板中使用。比如①里说到的Title,我们如果只是定死一个标题,则不管通过这个动作发什么内容都会以定死的这个文本为标题,这有好处也有坏处,好处就是如果你真的需要只在一个标题下不断拓展内容的话,这么做很方便。而坏处很明显,你需要给不同的内容定不同的标题。这时候你应该在Title这里使用[[title]]这个Tag,即在①的Title里输入[[title]],这样你输入文本的第一行就会作为笔记标题出现在Evernote里。

Tag系统

前面说了Drafts里的Tag系统不是标签系统,而是文本替换。这种系统让Drafts变得非常灵活。比如MacStories的Federico Viticci就通过利用Safari的书签和Drafts做到这样一个动作:将Safari里看到的好的文字以引用的格式发送到Evernote,并在下面附上来源。

drafts-evernote-3

做到这一点最重要的是Drafts的模板是支持Markdown的,所以可以做到直接形成引用格式,并且因为有[[draft]][[clipboard]]这两个Tag(后者功劳尤其大),才可以将整个动作一气呵成。

不过这些内容稍复杂,是下一篇要聊的,这里只是简述各个Tag所代替的内容:

drafts-evernote-4

[[title]]、[[draft]]和[[body]]

[[title]]所代替的内容如图所示是笔记内容的第一行(确切地说是第一段),比如你在Drafts里写了两段话,第一段3600个字,第二段就一个“啊”和感叹号。然后你给你的动作设定的标题是[[title]],那么通过这个动作发到Evernote的笔记的标题就是那第一段的3600个字。所以在Drafts里记将要发送到Evernote里的东西时,要养成第一段写标题的习惯。

内容可以分为[[draft]]和[[body]],[[draft]]就是全文,你写了什么它发出去什么。[[body]]则是去掉头一段剩下的内容,还是刚才那例子,你写了两段话,第一段3600个字,第二段是“啊!”,然后在设定动作的时候,把正文的Template里填入[[body]],然后通过这个动作把笔记发出去,那这篇笔记的内容就是一个“啊”和一个感叹号。

drafts-evernote-5

[[date|format]]

这篇教程的节奏到[[date|format]]这里跨度有点大,如果你还没搞懂其它Tag是怎么回事,都可以在哪使用,效果都是什么。那么现在你应该先回去搞一搞其它的Tag,然后再回来看[[date|format]]。其实不看也不要紧,因为如果按掌握全文内容为100分来看,搞懂前面说的就已经是95分了,即你已经完全可以无障碍使用Drafts的内置分享了,剩下的这5分丢了不打紧。

Drafts内置的[[date]]和[[time]]不够自定义化,包括数字之间都是以横线链接,比如2013-5-31,你想看31/5/2013就不行。按理说[[date]]和[[time]]足够让大多数人满意,我们也并非看不懂它给定的格式。但Drafts仍然加入了[[date|format]],这就是我欣赏它的地方,它尊重少数派。

[[date|format]]是strftime()函数的应用,不要被这种格式和“函数”俩字吓到,我们不需要深究这个东西的实质,看了例子你就知道不难应用。

前面说,他的[[time]]这个Tag只能将日期显示为2013-5-31这样,如果你想要2013/5/31就不行。怎么通过[[date|format]]让它行?只需要改为[[date|%Y/%m/%d]],然后时间就会显示为2013/5/31

Drafts里的效果是这样:

drafts-evernote-6

strftime()函数的内容是非常丰富的,不光有年月日,还有时分秒,上下午,十二小时制显示等等,可以满足你所有的格式要求。比如我想记录的日期格式没那么精确,只想要几月几号的上午或是下午,那么我就可以输入[[date|%m/%d %p]],显示出来则是05/30 AM。再比如,我想让它显示星期几几点几分,那我可以输入[[date|%A %R]],显示出来的会是Thursday 06:50

如果你想让某个数字前面的0消失,比如你想把05/30改为5/30,只要稍作修改,在m前加上减号即可:[[date|%-m/%d]]

注意,[[date|format]]在正文里添加无效,只能在上面⑤里写到的Template里使用。

相关文章: