Roam Research,从去年开始引爆网络的明星级笔记产品,各路高手赞不绝口。虽然定价超过大部分人的心理预期和心理承受能力,但还是有大批爱好者为信仰充值,这其中也包括我。尤其是在学习了著名德国社会学家 Niklas Luhmann 使用的 Slip-box 笔记法后,我认为 Roam 的定价是有底气的。

Flomo 即浮墨,近期关注度快速上升的国产笔记新星,同样借鉴了 Niklas Luhmann 大师的理念,拥有多平台、快速记录的优势,可以通过微信、网页、客户端、API等多种方式记录笔记,让我无论在何时何地,无论是捧着手机或是坐在电脑前,都能快速记录瞬时迸发的想法或者灵感。

不管是 Roam 还是 flomo,我觉得都值得单独写一篇文章来详细介绍。仅仅有工具是不够的,你还需要工具的使用说明和注意事项。比如将你扔在一条小船上,再给你一把桨。你可能会使用这把桨划水来让船前进,但是在不了解正确使用方法时,比如握桨姿势,桨入水的角度,桨在水下的运动轨迹,划桨的频率等等,船前进的速度一定不会太快,错误的划桨方式一定是事倍功半的,而且有时还需要一点点额外的技巧。怎样正确的划桨就是船桨这个工具的使用说明,只有当你正确掌握后,才能完全运用好这个工具,以发挥工具的最大效率。

再进一步,更重要的是分析工具背后隐藏的理念,就像船桨为什么要设计成这个形状?细长的那头看上去更方便抓握,而宽扁的那头是为了增加对水的阻力。就是这样,当你了解到 Roam、flomo 等工具的设计理念后,才能领会到它们的精髓。

跑题跑远了,今天不说这么深奥的东西,不过就算是个预告吧,还需要点时间。

今天来给大家介绍一个把 Roam 中的笔记一键发送到 flomo 中的方法,比较适合像我这种同时使用两种工具的用户。由于 flomo 支持通过 API 记录笔记内容,而 Roam 支持自定义 Javascript 脚本,因此我们就可以利用这一点,只要能够在 Roam 中调用此 API,就可以将内容发送至 flomo。

安装 POSTMAN 脚本

使用 Roam 调用 API,首先需要安装 POSTMAN 脚本。代码如下,将这段代码拷贝到你的 "roam/js" 页面中,然后点击页面中的 “Yes, I know what I'm doing” 按钮启用即可完成安装。

{{[[roam/js]]}}

var existing = document.getElementById("roamjs-postman");

if (!existing) {

var extension = document.createElement("script");

extension.src = "https://roamjs.com/postman.js";

extension.id = "roamjs-postman";

extension.async = true;

extension.type = "text/javascript";

document.getElementsByTagName("head")[0].appendChild(extension);

}

完成后如下图所示:

配置发送 API

接下来需要配置发送 API,新建一个 "roam/js/postman" 页面,配置方式直接看图,然后我再来说明。

  • sendtoflomo:标签名,可自定义。后续在需要发送的内容后加上此标签,点击标签后的小飞机图标,即可将内容发送到 flomo。
  • url:flomo 提供的 API 地址,需要在你的 flomo 账户里,"API 及第三方工具"页面找到。
  • {block}:获取“sendtoflomo”标签所在 block 的内容。注意:发送到 flomo 的内容包括“#sendtoflomo”此标签。如果不想在发送内容中包含此标签,可使用 {block:clean}
  • {tree} :block tree 的全部内容,加上 :text 表示仅获取文本内容。

发送笔记

以上配置完成后,我们就可以通过给笔记加上“sendtoflomo”,来将内容发送到 flomo。比如:

点击“sendtoflomo”标签后的小飞机图标即可完成一键发送。

CORS error

当你点击发送后,可能会碰到如下问题:

打开浏览器的开发者工具,查看具体的错误原因,可以看到 CORS error:

这个错误出现的原因是由于从 Roam 到 flomo 属于跨域访问,被策略禁止了。那怎么办呢?别着急,可以通过安装一个 “Allow CORS: Access-Control-Allow-Origin” 浏览器插件来解决,插件的地址在这里。安装并启用后,就可以顺利发送笔记了,点击发送按钮,可看到如下成功提示:

现在我们去查看 flomo 的页面,刚才这条笔记内容已经出现在了笔记列表的最上面。

实际上,在我的使用场景中,我更希望能够将笔记一键从 flomo 发送到 Roam 中。因为 flomo 具备非常方便灵活的记录能力,所以我将它作为 “Fleeting Notes” 来使用;而 Roam 强大的双向链接及块引用,更适合作为 "Permanent Notes"。在以后的文章里我会详细介绍这些不同笔记之间的区别和使用场景。