用 Workflow 记日记到 Evernote
@风影默 问:
卸载了 Day One,想用 Workflow 制作出和 Day One 一样的日记显示效果。
首先,日记前面要包括当前的日期和外面天气,后面是 Apple Music 正在播放的歌曲。
后面是每日的问答模板。包括了三个必答题和一个选答题。每月一号和十五号取消选答题,选答题板块变为特定问题:对于后来十五天有什么规划。
必答题: 今天要感恩的一件事;今天最有成就的一件事;今天的一个洞见。
选答题:最近有没有瘦下来;今天的心情如何;今天碰到了什么有趣的事情吗。
最后,按照 Markdown 格式排版到 Evernote。
动作详解
这条 Workflow 动作分为 5 个部分:
获取天气;
必答题;
选答题;
获取正在播放的音乐、获取当前日期;
以 Markdown 格式排版发送至 Evernote。
1. 获取天气
这个部分大家可以直接看 Hum 写的「定制天气短信」这期,里面有详尽的视频介绍,我就不再重复阐述其实现原理。 我直接用了里面的「天气 2」动作,结尾用「Replace Text」替换掉了一些在本文中不必要的文本。 2. 必答题
这部分有两种实现思路,一种是把每一个问题都写成一个「Ask for Input」,但坏处是会容易让 Workflow 变得很长,而且不便于后期修改或者增添问题。
另一种思路是用「Split Text」来制作列表,也就是把所有要回答的问题都写进「Text」里,然后用「Split Text」分成多个,就可以得到一个列表。
这个思路我最早是在 Hum 写的《Workflow 思路教程》里看到的,当时看到就觉得很有意思,不仅可以节省步骤,还间接解决了 Workflow 拖动效率低下的问题,一举两得。 接下来我用到了「Repeat with Each」,也就是对列表的每一个问题都进行回答。「Ask for Input - Question」里则用了 Workflow 自带的变量「Repeat Item」,每次都会自动将当前循环过程中的问题名字填进去,不需要我手动填写。
最后则是将问题和回答整理好格式,保存到变量「必答题」中。
3. 选答题
@风影默 在这部分提了两个比较特别的要求:
每次只从 3 个选答题中挑选 1 个,再决定回不回答;
如果是每月 1 号或 15 号,则跳过选答题,直接回答「对于后来十五天有什么规划」这个特定问题。
我们先来解决第二个问题,首先用「Date」获取当前日期,并用「Format Date」将日期格式转化为 dd,也就是只有「年月日」的「日」。
然后用「If」进行判断,判断日期是否等于 01:
如果是,则回答特定问题;
如果不是,则继续判断日期是否等于 15;
如果是,则回答特定问题;
如果不是,则进入选答题部分。
这样就解决了 @风影默 的第二个要求。
选答题部分,和必答题差不多,区别在于生成列表之后,用到了「Get Item from List」,选择「Random Item」随机获取一个问题,然后再菜单「Choose from Menu」选择是否进行回答。
获取正在播放的音乐、获取当前日期、排版
最后这几部分比较简单,所以放一起说。
首先用「Get Current Song」让 Workflow 获取访问音乐库的权限。在接下来的「Text」中,填入前文中各种获取好的变量,包括天气、歌曲名、歌手名、标题、必答题、选答题。
我们来看一下开头的第一个「Current Date」变量,这其实也是 Workflow 自带的变量,无需在前文中提前声明,可以从键盘上方的工具栏里找到。
Workflow 自带的变量,包括「输入、剪贴板、日期」等
最后再用「Make Rich Text from Markdown」发送到 Evernote 就可以了,让我们再来看一下最终效果: