Apple 设备快速输入 Obsidian Memos
5 min read

Apple 设备快速输入 Obsidian Memos

做为个人 PKM 关键的输入环节,通过捷径(shortcut)为 iPhone、iPad、Mac 快速给 Obsidian 记录 Memos
Apple 设备快速输入 Obsidian Memos
Photo by Dimitri Karastelev / Unsplash

最近在更新和重新搭建自己的 PKM 体系,其中涉及到内容输入的环节,在平常的阅读、学习、整理的过程中会碰到摘录、记录灵感的场景,我平时主要使用的设备大多是 Apple 系(主要是 macOS、iPhone、iPad),所以这种摘录、记录的场景在这些设备上都会发生。综上,我需要找到一个能够在 Apple 系产品高效记录和输入的方法,这篇文章就是总结搭建的过程。

Obsidian

Obsidian 是我最喜欢的一个软件,也是我个人 PKM 系统的核心。不过由于 Obsidian 的建设主要是依赖社区的力量所以很多我想要的 feature 还是缺失或者不完善,其中就包括了类似 Flomo 快速记录的功能

Obsidian Memos

A new way for you to quick capture an idea in Obsidian. Which is highly based on the awesome open source project: memos and awesome service: flomo.
Obsidian Memos Plugin

配置

如下所示是 Obsidian Memos 配置文件,可以直接用下面的 json 数据替换 Obsidian Memos 配置,配置文件路径:
${vault-name}/.obsidian/plugins/obsidian-memos/data.json,其中 UserName、InsertAfter 等个性化配置可以按需进行修改,具体可以参考 Obsidian-Memos

{
  "StartDate": "Sunday",
  "InsertAfter": "$$\\textcolor[RGB]{128,128,128}{------\\Upsilon------}$$",
  "UserName": "edonyzpc",
  "ProcessEntriesBelow": "$$\\textcolor[RGB]{128,128,128}{------\\Upsilon------}$$",
  "Language": "en",
  "SaveMemoButtonLabel": "OK",
  "SaveMemoButtonIcon": "✍️",
  "ShareFooterStart": "Memos",
  "ShareFooterEnd": "{UserName}",
  "DefaultPrefix": "List",
  "UseDailyOrPeriodic": "Daily",
  "InsertDateFormat": "Dataview",
  "DefaultEditorLocation": "Top",
  "UseButtonToShowEditor": true,
  "FocusOnEditor": false,
  "OpenDailyMemosWithMemos": false,
  "HideDoneTasks": false,
  "ShowTaskLabel": true,
  "OpenMemosAutomatically": true,
  "ShowTime": true,
  "ShowDate": true,
  "AddBlankLineWhenDate": true,
  "AutoSaveWhenOnMobile": false,
  "DeleteFileName": "delete",
  "QueryFileName": "query",
  "UseVaultTags": false,
  "DefaultLightBackgroundImage": "",
  "DefaultDarkBackgroundImage": "",
  "DefaultMemoComposition": "{TIME} {CONTENT}",
  "CommentOnMemos": true,
  "CommentsInOriginalNotes": false,
  "FetchMemosMark": "#memo",
  "FetchMemosFromNote": false,
  "ShowCommentOnMemos": true,
  "ShowLeftSideBar": false
}

热力图

增加 css snippets 来自定义 Obsidian Memos 热力图配置,在  ${vault-name}/.obsidian/snippets/heatmap.css 中增加 css 个性化代码(源自:Obsidian-Memos/Heatmap-css-snippet.css),在 Obsidian 设置中使能 heatmap 如下图所示:

obsidian css snippet enable

heapmap css 使能之后在插件的 style setting 中进行 memos 热力图主题配置,如下图所示:

obsidian memos heatmap theme setting

Obsidian URI

Obsidian URI 在 Apple 系列的设备上采用的是 Custom URL Scheme,Apple Custom URL Scheme 大致的原理就是 app 开发者想 os 注册应用自己的 URL,os 在接收到 URL 之后根据注册列表进行将 URL 发送给对应 app 的 container 进程,app 进程接受到 URL 之后对应用内对资源进行处理。Obsidian URI 的原理也是类似的,具体可以参考官方文档:Using obsidian URI

目前 Obsidian 社区有一个比较火的增强版 URI,因为使用的人比较多并且对于文件的 append 等操作支持的很好,而且有非常完善的文档,所以 Obsidian URI 采用 Obsidian Advanced URI 插件来实现需要的功能。

Daily notes URL Scheme

obsidian://advanced-uri?vault=${VaultName}$&commandname=Daily%20notes%3A%20Open%20today%27s%20daily%20note

# 说明:创建 daily notes,并且根据 daily note 定义的 templater 进行自动生成文件
# 1. ${VaultName} 替换成 Obsidian Vault 名

Obsidian Memos URL Scheme

obsidian://advanced-uri?vault=${VaultName}&filepath=${FilePath}&data=${EncodedText}&mode=append

# 说明:向 obsidian memos 的 daily note 文件中追加内容
# 1. ${VaultName} 替换成 Obsidian Vault 名
# 2. ${FilePath} 替换成 Memos 文件路径
# 3. mode 支持:https://vinzent03.github.io/obsidian-advanced-uri/actions/writing
#    - append
#    - overwrite
#    - prepend

Apple Shortcuts

Apple 设备上效率操作的方式有所区别,所以分为两类来设计:iOS/iPadOS;macOS。可以根据我的 shortcut 进行修改和自定义:Obsidian Memos Shortcut

iOS/iPadOS

iOS/iPadOS 上面可以直接快捷搜索触发快捷指令,也可以将快捷指令添加到主屏幕,如下所示就可以在 iPhone 或者 iPad 上进行快速记录内容了。

macOS

在快捷指令应用中为 shortcut 设置全局的快捷,如下图所示。

如果你有 Alfred 也可以直接在里面输入 sc 即可,如下所示:

References

  1. GitHub - Quorafind/Obsidian-Memos: A quick capture plugin for Obsidian, all data from your notes.
  2. GitHub - Vinzent03/obsidian-advanced-uri: Advanced modes for Obsidian URI
  3. Defining a Custom URL Scheme for Your App | Apple Developer Documentation
  4. URL Scheme - 云+社区 - 腾讯云

Public discussion