Matrix 首页推荐
Matrix 是少数派的写作社区,我们主张分享真实的产品体验,有实用价值的经验与思考。我们会不定期挑选 Matrix 最优质的文章,展示来自用户的最真实的体验和观点。
文章代表作者个人观点,少数派仅对标题和排版略作修改。
之前我写过几篇文章,介绍如何使用 Notion 来管理个人事务,利用了 Notion 强大的数据库和各类视图功能,实现任务、项目等多维度管理,使得我们能够清晰的管理复杂项目。然而在实际工作和生活中,除了这类复杂项目,往往还有有一些提醒类的小任务,比如说每月 14 号还信用卡、每周三参加例会等,这些小任务不会产生其他结构化且相关联的内容,如果都统一使用 Notion 来管理不是不可以,但总感觉有点太「重」。如果你同时也在重度使用 Roam Research 的话,我再介绍一个我正在使用中的而且非常棒的解决方案,让你在每天打开 Roam 页面后,就能立刻安排好今日的所有日程。
先来用一副动图演示一下我是怎样开始 4 月 6 号这一天的日程的:
如果说以上过程都是全自动完成的,是不是很神奇?
Roam Research 中的基础提醒
Roam 作为一款新型笔记工具广受好评,我自己在使用过程中将它作为我的 Slip-Box 来使用(关于 Slip-Box 可以阅读 How to Take Smart Notes),是我强大的思考和笔记工具,能够帮助我形成知识网络,更好的进行思考和写作。
同时它也提供了一些简单的、勉强算得上「提醒」的功能,我们先来看看有哪些方式。
按日期提醒
比如文章开头提到,每月 14 日需要还信用卡,那么我们可以新增一条笔记:
还信用卡 [[April 14th, 2021]]
后边被 [[]]
包围的日期就是需要需要执行这个任务的日期,在 Roam 中必须指定一个明确的日期,也就是某年某月某日。当日期到达这一天时,会在当天的日期笔记中出现这一条提醒事项。
To-do 列表
Roam 中利用 {{[[TODO]]}}
可以新建一条待办任务,在前面会出现一个单选框,打勾即代表已经完成了这项任务,拿"周三参加例会"举例:
{{[[TODO]]}} 周三参加例会
To-do 标签
另外我们还可以利用 TODO
标签来实现所有待办任务的提醒,当然你需要进入到 TODO
页面或者建立一个 TODO
标签的查询才可以看到这些待办任务。写法很简单:
周三参加例会 #TODO
以上三种方式的最终效果如下图:
除了第一种指定日期的方式我们会在当天看到提醒外,其他两种方式都只能通过主动查询才能够看到提醒,这当然不是一种好的方式,甚至达不到「可用」的标准。那么,如何来改进呢?
这里就要提到 Roam42 这款开源的 Roam Research 的插件,源代码托管在 Github 上面。
Roam42
作者对这款插件的定义是:一款令人愉悦的且有趣又强大的高级用户工具集合。翻译有点儿拗口,但使用感觉的确如此。Roam42 的强大来自于「SmartBlocks」,类似于模版,但又不像 Roam 原生提供的静态模版,它可以实现动态模版,
安装
Roam42 安装比较简单,只需要在你的 Roam 中新建一个页面,再将一段代码复制进去启用即可。打开 Roam42 的安装介绍页面,找到下面这段:
点击上面的「Copy code」或者直接复制下方的代码均可,然后将它粘贴到你新建的页面中,比如我新建了一个 Roam42 页面。粘贴好后,点击你页面中的「Yes, I know what I'm doing」 按钮,当按钮上的文字变成「Stop this」,安装就完成了。稍等几秒,你会发现右上角多出两个 Roam42 的菜单按钮。
接下来,你就可以使用强大的「SmartBlocks」功能了。
SmartBlocks
前面提到过,SmartBlocks 类似于模版,也就是说,你可以预先定义好模版的格式和内容,在需要的时候直接将模版导入到页面中,不需要输入重复的内容。Roam 原生的 template 功能导入模版后,你需要手工输入除固定内容以外的其他内容。而 SmartBlocks 强大之处在于它可以利用自身代码自动完成这一过程。
我每天上午坐在电脑前第一件事就是打开 Roam,然后敲下键盘上的 jj
,回车。如上面的动图所示,当天需要完成的任务和一些相关内容就会自动展示出来。我下面来一步步详细介绍怎样利用 SmartBlocks 来实现。
新建 SmartBlocks 模版页面
新增一个页面,名称随意,我这里就命名为「42RoamBlock」,这也是 SmartBlocks 标签的名称。然后输入以下模版内容,我会一项项解释。
注意第一行 Daily Routine
就是这个模版的名称,后边必须跟着标签 #42SmartBlock
,这样 Roam42 才会将这部分内容定义为一个 SmartBlocks 模版。当输入 jj
后,选择此项即可自动导入此模版内容,就像上边动图演示的那样。
基本语法
先解释一下 Roam42 的基本语法:
<%函数名:参数1,参数2,...%>
在输入 Roam42 提供的「函数」时,你都可以用快捷键 jj
调出菜单,再输入 <
来进行选择输入,并且当你选择了某个函数后,页面的右下角会出现此函数的使用说明。
Daily Routine
代码:
#[[Daily Routine]] `<%DATE:today,dddd%>` `<%TIME%>`
DATE
加上参数dddd
表示当日是周几的完整英文拼写。TIME
表示当前时间。
今日提醒
在「今日提醒」部分,列出了我日常的、循环的一些提醒,比如每天、每周、每月等固定周期要做的事情。
代码:
- {{[[TODO]]}} 每天拍一张照片
- <%IFDAYOFWEEK: 3%>{{[[TODO]]}} 例会(每周三)
- <%IFDAYOFWEEK: 2%>{{[[TODO]]}} 洗衣服(每周二)
- <%IFDAYOFMONTH: 6%>{{[[TODO]]}} 交电费(每月 6 号)
- 每天拍一张照片是固定每天要做的,所以直接将静态内容写在模版里。
IFDAYOFWEEK
表示每周几固定要完成的事情,比如参数 3 就代表每周三。IFDAYOFMONTH
表示每月固定日期要完成的事情,参数 6 表示每月 6 号。
今日任务
这一部分显示了我之前安排在今天需要做的某件事情,比如动图中「购买麦片」这一事项,是我 4 月 1 日提前安排好的,Roam42 自动将它找了出来显示在 6 号这一天的「今日任务」中。
代码:
<%TODOTODAY:50%> —— <%PAGE%>
TODOTODAY
表示当天的 To-do,参数50
表示最多显示 50 条。PAGE
表示每条 To-do 所属的页面,让你能够看到这条任务的上下文是哪一天或者哪个页面。
追踪任务
追踪任务列出了所有已经逾期的任务和没有指定特定日期的 To-do,有一些事项我们在平时安排时只是想在某些时候去做,并不一定要指定特定的完成日期,就会在这一部分提醒你,这样就永远也不会忘记了。
代码:
<%TODOOVERDUEDNP:50%> —— <%PAGE%>
TODOOVERDUEDNP
表示所有页面中包括的未完成的 To-do 事项(已完成的标签是 DONE),参数50
表示最多显示 50 条。
impress me 回顾
这里会每次随机显示两条我曾经记录在 Roam 中的让我印象深刻的句子,我给这些句子都加上过 impress me
标签。
代码:
<%REPEAT:2%>{{[[embed]]: <%RANDOMBLOCKMENTION:impress me%>}}
REPEAT
表示循环,次数可由参数指定,这里代表每次显示两条后边的内容。embed
表示显示的内容直接嵌入这里,而不只是引用的链接,可以直接在这里编辑内容。RANDOMBLOCKMENTION
表示随机选择参数指定的内容,这里也就是我打过impress me
标签的内容。
到这里,我的「Daily Routine」模版就完成了,足够简单也足够强大。用来提醒琐事和时不时冒出的想法再好不过了,特别适合像我一样重度使用 Roam Research 的用户。让我们每天在 Roam Research 中思考和工作的同时,也能借助它来安排好每天的日程。
当然 Roam42 能做的远远不止这些,感兴趣的朋友可以到 这里 查看详细的介绍和其他函数功能,作者也还在持续更新和添加新的特性,希望能带来更多实用功能。
最后再次强烈推荐一下 How to Take Smart Notes 这本书,书中介绍的方法和理念能让你的阅读、学习、思考和写作能力上一个台阶,我自己也在慢慢的实践和积累中,能够深刻体会到这本书给我带来的变化,有机会我也会写一篇读书笔记分享出来,希望对大家有帮助。
> 下载 少数派 2.0 客户端、关注 少数派公众号,解锁全新阅读体验 📰
> 实用、好用的 正版软件,少数派为你呈现 🚀