Published on

利用 GitHub Action 和快捷指令解决 Logseq 的最后一米

Authors

我是一个 Logseq 的新手玩家,在使用 Logseq 的时候,有一个最大的痛点, 就是 Logseq 不能随时随地记日记(Journal),本地化存储是 Logseq 的优点,但也造成一些不便。比如我躺上床上,在淋浴中,在运动中想到一个点子, 难道我要记到脑子里,等第二天再记到电脑上,还是我立刻打开电脑记下来呢,这两种方式对中年人都不友好。我把这个问题称作 Logseq 的最后一米问题。

好吧不装了,我不是伊洪,但如果你读过他的巧妙利用 iOS 的快捷指令配合 GitHub Actions 实现自动化 这篇文章的话,应该对这个套路有所了解了。整体思路就是利用快捷指令,把要记的日志发送给 GitHub 触发一个 GitHub Action workflow,在这个 workflow 里去更新 journal 文件。当然,这样的话你本地的 Logseq 就得配置定时从 GitHub 拉取最新的 commit,麻烦是有些麻烦,但无论如何解决了我的问题。

创建 GitHub Action

在你的 Logseq 同步仓库中创建 .github/workflows/add_journal.yml,提交即可。

申请 Personal Access Token

因为要往仓库里提交文件,所以要先在 GitHub 上申请一个 Personal Access Token,token 的权限要把 workflow 勾上:

workflow_guide

复制好 token 以备使用。

获得 workflow ID

直接抄伊洪的作业,利用 GitHub RESTful API 获取:

curl https://api.github.com/repos/${owner}/${repo}/actions/workflows -H "Authorization: token d8xxxxxxxxxx" # 换成上一步复制好的token

返回的 JSON 响应中的 workflows[0].id 就是 workflow ID,如果有多个 workflow 注意选择。把 ID 复制好以备使用。

设置 iOS 快捷指令

打开这个链接把快捷指令添加到 iOS 设备上。

shortcut2

  1. 把 URL 中的 {workflow_id} 换成上一步复制好的 workflow ID
  2. 再点获取 URL 右边的 ▶️ 展开
  3. 把头部中的 Authorization 设置为 token {your_token}
  4. 点右上角设置,添加到主屏幕
  5. 关闭保存,快捷指令就设置好了

大功告成!

现在试试点主屏幕的「写 Journal」,填入内容,等待片刻,一条新日志就会添加到当天的 Journal 中,你甚至可以对 Siri 说:Hey Siri, 写 Journal

Share: