Craft 两则

注: 两篇关于 Craft 的文章,一篇写于 4 月 18 日,一篇写于 8 月 5 日,现并于一处上传。

【一】高效使用 Craft

今天来聊聊 Craft,一款我越用越喜欢,越用越顺手的笔记软件。
你可能会说:怎么又来一款笔记软件?Notion、Obsidian、Logseq、Evernote 不好吗?
不是它们不好,是总有些地方不够好,如隔靴搔痒,没法解决痛点。Notion 的电脑客户端是 Electron 封装的网页,打开速度慢,加载慢,数据库功能虽强大然而不支持 URL Scheme;Obsidian 的插件装得越多启动速度越慢,且移动端做得很粗糙,「流畅、精致」的体验跟它只能说是毫不沾边;Logseq 更是本周才刚刚发布 iOS 端。Evernote 就不说了,被广告频繁轰炸了几年后我对它深恶痛绝。

Craft 值得称道的地方:

  • 移动端堪称流畅丝滑的原生体验

  • 漂亮的文字动画

  • 基于block的设计分享起来很方便,在线内容的排版展示很漂亮

  • 支持颗粒度到每一块、每一行的双向链接调用

  • 惊人的迭代速度,一直在出新功能(比如最近一直重点发力的「模板」功能,非常完善、多样的导出功能)

  • 支持 Web、iPhone、iPad 和 macOS(网页端也支持,使用场景就很大了)

以及我今天重点想介绍的,对 Deeplink 的支持。

通过 Alfred 高效调用 Craft

Deeplink(深层链接) 是 Craft 中每一份笔记文件的本地地址,在 iPhone、iPad、Mac 上全面通用,让你能直接从软件外部唤醒对应的文件或操作。在 Craft 上每一份文件都会提供多种导出选项:网页链接、深层链接、导出为图片、PDF、Markdown、Word,或者发送给下一个应用处理。

如果你读过我曾经写的「更好地上网冲浪:Alfred「网络搜索」配置」一文,大概对 Alfred 的网络搜索这一功能有点印象。当时通过配置关键词和形如 https://www.xxxx.com/search?q={query} 的网页搜索就能唤起浏览器,如今也能通过关键词和深层链接从外部直接唤醒文档,几个字母就能实现快速跳转文档。你可以复制一些经常使用的常青笔记的深层链接,从 Alfred 中直接唤起,也可以用它:

  • 打开文档

  • 创建文档

  • 添加内容到现有文档

  • 在空间中开始搜索

  • 访问昨天、今天、明天的日记(如果没有就会自动创建)

以下是我对 Craft 的配置(最近在学前端):

官方有一份 URL Scheme 使用手册可供查询,其中「访问并自动创建今天的日记」是我尤其钟爱的功能,我的关键词是 csr,每天输入三个字母并回车就能开始记录今天的生活。Craft 的日记文档做得很精致,真的会让记日记变得无压力。在一行的开头输入 -[] 并空格会渲染成一个可以勾选的任务框(输入字母 x 并空格也可以),我每天的一篇日记就是下图呈现的效果。

而当你引用日记时,Craft 支持用 Date Badges 徽标引用日记,效果如下图。

移动端实现快速调用

既然深层链接在电脑和移动端上通用,你也可以在 iPhone 上用同一个链接,通过快捷指令、Launch Center Pro、桌面组件等方式实现快速调用。

工作流

另外还有一个非常推荐的 Alfred 工作流「Note searching for Craft Docs」,实现比官方需要付费提供的搜索功能还强的内容正文检索,默认关键词为 cs(这下你知道为什么我前面的 Alfred 截图里设置的关键词都是 cs+x 的形式了吧)。

价格

最后聊聊价格,免费用户可以使用 1000 个 block,1 GB 云端存储空间(事实上我一直用到 1900 个 block 才被提示需要购买会员,还是可以用很久的),Pro 一年 250+,学生价格优惠折半,提供 50 GB 存储和不限 block,会员资格可以和家人共享。以前的 Notion 也是免费版使用 1000 个block,到后来放开了允许个人空间无限。一般很多软件都是对个人免费,团队协作功能需要付费,这个模式也是目前主流 SaaS 软件的盈利模式,在过去各大 SaaS 公司得到了很好的验证。Craft 现在也在走团队协作的这条路,会员价格确实不能算便宜,但如果不是像我这样的重度用户,免费版也够用了。

题外话
其实我想说的是,这套通过「自定 URL Scheme 访问常青笔记」+ Alfred Workflow 实现从外部快速查询/导航(navigate)软件内项目的流程,是可以在多个软件上套用并复现的。 本文介绍了 Craft,如果你用 Logseq 可以安装 logseq-alfred,用 Obsidian 可以安装 shimmering-obsidian,至于 DEVONthink/OmniFocus/Drafts 等等都在 GitHub 上有对应的工作流,甚至对于一些网站比如飞书和 GitHub 也可以用这种方式实现快速访问。而如果你不想自己劳神编写 URL Scheme,还可以用 Hookmark 无脑获得大量直达软件内项目的访问链接,甚至直接将一些项目直接钉在 Hook 的面板上,每次都能直接看到。

不过这些就是下一次再聊的话题了,拜拜~ 👋

【二】我为什么选择用 Craft 写日记?

Craft 是一款近年来广受好评的笔记应用,它支持 Web、iPhone、iPad 和 macOS 系统,以其原生、流畅的使用体验和美观的界面收获了大批拥趸(虽然基于 Catalyst 的mac 版差强人意)。我也曾经在一篇 Newsletter「高效使用 Craft」中详细介绍了一些个人使用心得,着墨于如何通过 URL Scheme 快速地调用文档,今天再聊 Craft,是想重点介绍它的另一项功能:Daily Notes,或曰,日记。

Craft 的日记好在哪?

Craft 在去年的 1.6.1 版本正式引入了 Daily Notes,开辟了一个专属的板块放日历和日记。在板块内记录的内容不会出现在文档列表里,所以不用担心随手写的文字会与正式笔记放在一起,显得格格不入。目前它还有三个有意思的特性:

  1. 你可以通过在行首输入字母 x 并空格渲染一个任务框,追踪当天任务,查看待办事项、已完成和逾期任务

  2. 通过插件「Craft Snippets」自定义片段,设置模板,快速创建日记(你可以把它类比成 notion 的模板)

  3. 与苹果的系统应用「日历」进行联动,日记页面自动同步当天日历上的事件

第三个特性带来了极大的可玩性,也正是这个「杀手功能」使我放弃了在 Obsidian、Logseq 上记日记,最终转向了 Craft 的怀抱。下图是我 8 月 4 号日记的侧边栏视图:

视图自上到下包含了三个信息:当天的节假日、所在城市的天气和日历上的活动事件。将日历连接到 Craft 后你会在这里看到所有的日历事件,还可以与它们交互:单击查看事件的详细信息、选择在事件对应的应用(比如 Zoom)里打开、针对事件创建笔记(比如一场快速的会议记录)。

针对事件的笔记依旧是统合显示在当天的日记中:

日历视图集成天气与节假日信息

对于一篇日记来说,有了当天的天气和节假日的信息无疑会显得丰富许多。那么如何在视图里集成这些信息呢?答案是在系统应用「日历」里添加一些订阅源。在那之前,如果你不知道如何使用一个代码片段,以下是使用的步骤教程。

打开你的日历,打开下方的「日历」>「添加日历」>「添加订阅日历」。在弹出的输入框内添加订阅地址,点击「订阅」。

订阅节假日

许多中国节假日的订阅源只提供了假期(比如苹果自家的中国节假日),没有国务院的调休,并不符合实际情况。GitHub 上有一份第三方维护了四年有余的中国公众假期订阅源:「中国节假日、调休、补班日历」。它的特点包括(以下介绍来自作者的 README 文件):

特点

  1. 节假日信息来自中国政府网,一手信息、权威准确

  2. 包含最近3年的节假日信息,机器人自动维护,更新及时

  3. 日历标题包含放假、补班的天数信息

  4. 日历标题包含放假、补班等关键字,方便脚本开发。例如使用iPhone的快捷指令应用编写工作日闹钟

  5. 每个补班日程自动设置上班提醒,默认时间为09:00~18:00、提前一个小时提醒

  6. 支持个性化定制补班日程的开始、结束时间和提醒时间(例如提前一天提醒)

订阅地址

2019~2022 年中国放假、调休和补班日历 更新时间 2021-10-26 08:25:07

订阅天气

至于如何订阅天气,你可以访问网站 Weather in Calendar ⛅️ 20°。这个网站使用 OpenWeatherMap 的 API 获取城市的 16 天天气预报,并使用表情符号 ⛅️ 🌧️ ☀️ 🌨️ 来显示。输入你的城市,根据喜好进行调整并制作免费日历,就可以获得订阅地址。

除了最普适的天气和节假日信息,「日历」也可以订阅诸如「体育赛事日程」的内容,甚至自己定制一些个人日历事件(比如 Udemy 的课程提醒),只要制作成一个 .ics 日历文件即可导入,各处同步。

快速记录日历事件

在 Mac 上我曾经使用老牌日历应用 Fantastical 2 添加事件,体验不错。后来在 Fantastical 3 转向了订阅制且价格不菲的情况下,我转而选择了轻巧、开源的 Itsycal。使用逻辑都大相径庭:点击菜单栏中的日期图标,添加事件名称和持续时间。毕竟随时随地在全局的菜单栏里操作,肯定比打开应用主界面,再用鼠标晃来晃去、选择点击要快得多。

至于在移动端添加日历事件,使用 URL Scheme 无疑是最快的方式。然而根据我的查阅,「日历」支持的 URL Scheme 有以下三条:

1
2
3
4
calshow://
x-apple-calevent://
Add calendar
webcal://SuscribeLinkForTheCalendar

前两个都是打开「日历」,最后一个是为日历添加订阅源,没有一条能直达「添加日历事件」的界面,所以我猜应该是当初就没有设计。当然你还可以选择其他第三方的日历应用如 Calendars 5,它有着完整的 URL Scheme 支持。

尾巴

行文至此,我好像逐渐滑向了一个奇怪的主题——与其说是「怎么使用 Craft 记日记」,更像是「怎么使用日历」,毕竟日记与日期息息相关。上述的这些设置都是一经配置就长久生效,每次使用都能感受到它的存在,持续带来好的体验的,所以稍微花点时间未尝不可。教程详细且不复杂,5-7 分钟即可完成。

添加大块的、长时间持续的事件在「日历」里,添加无需提醒的小事件直接写在日记里,这就是我的使用逻辑。诸君也可以选择、搭配自己喜欢的工具,工具会反过来推动习惯的养成。一张彩色的便签纸也可以,一个 App 也可以。