用 Drafts 批量向 Todoist 导入任务
@匿名用户:用 Workflow 可以让 Drafts 的每行导入到 Todoist 吗?或者 Drafts 可以直接实现吗?
@文刀漢三:可以实现,不需要用到 Workflow,直接用 Drafts + Todoist 就可以实现。
操作步骤
首先你需要到网页版或者桌面版的 Todoist 中,在 Inbox 右上角的工具栏里找到 Todoist 的邮箱地址(每个项目都有单独的邮箱地址),注意保存好这个邮箱地址,不要发布到公共场合上。
然后在 Drafts 里安装这两个动作(动作原作者 @nahumck):
在「Email Todoist Inbox」这个动作里面,将 Todoist 的邮箱地址填进去。
最后你只需要在 Drafts 运行「List to Todoist Inbox」这个动作就可以了。
每行文本会保存为一个任务,你也可以为每个任务都加上一些属性,比如截止日期、标签、紧急程度,具体可以参考邮箱地址页的说明。
动作说明
这个两个动作主要用到了 Drafts 的循环技巧,我们来看一下「List to Todoist Inbox」的 URL Scheme:
drafts4://x-callback-url/runAction?text=[[line|1]]&action=Email%20Todoist%20Inbox&x-success={{drafts4://x-callback-url/runAction?text=[[line|2..]]&allowEmpty=NO&action=List%20to%20Todoist%20Inbox}}
前半段 drafts4://x-callback-url/runAction?text=[[line|1]]&action=Email%20Todoist%20Inbox 的意思是将文本的第 1 行运行「Email Todoist Inbox」这个动作,也就是发送到 Todoist 收件箱里。
&x-success 的意思是如果运行成功了,那么就接着运行后面的代码:
drafts4://x-callback-url/runAction?text=[[line|2..]]&allowEmpty=NO&action=List%20to%20Todoist%20Inbox
这段代码的意思是将文本第 2 行往后的内容新建一个文本,此时原先的第 2 行就变成了新文本的第 1 行,然后再重新运行「List to Todoist Inbox」这个动作。
allowEmpty=NO 的意思是,如果文本为空,则停止运行。
视频:定时用微信发送定制天气信息
@Amazing:跟女票异地,她挺忙的,也不太关注天气,一遇上恶劣天气就束手无策了,我希望为她定制她所在地的天气,提醒她带伞或者加衣服,对了,她有时还出差,能根据她实时的地理位置预报天气预报就完美了。之前我想通过「查找朋友」的功能来实现,但 Workflow 似乎并不支持这个功能,少数派快来救救我吧!
以下为 @JailbreakHum 录制的操作流程以及讲解视频:
视频中 Workflow 下载
视频中的信息
查天气的网址(Workflow 里有):http://i.tianqi.com/index.php?c=code&id=8&py=城市名
查空气质量的 API(Workflow 里有,含 Token):http://www.pm25.in/api/querys/pm2_5.json?city=城市名&token=5j1znBVAsnSf5xQyNQyq
运行 Workflow 动作的 URL(Launch Center Pro 里可以搜到):workflow://run-workflow?name={{Workflow 动作名}}
视频中提到的动作
Make Rich Text from HTML:将 HTML 转为富文本;
Replace Text:替换文本,可以使用正则表达式;
If Otherwise:判断条件,决定符合条件时做什么,不符合条件时做什么;
Exit Workflow:中止当前动作,并退出当前 Workflow;
Split Text;通过换行、空格等元素将一段文本拆分为多个项目;
Get Item from List:回去列表中的项目;
Repeat:重复,根据具体场景有不同的作用;
Get Dictionary Value:获取字典中 Key 的值;
Repeat Item:当前正在重复的项。