# 通过 Quicker 向 Obsidian 中发送笔记的快捷方法

> 本文公开全文。

原文：https://utgd.net/article/20487

本周介绍了《通过 Drafts 向 Obsidian 中发送笔记的快捷方法》。其实在 Windows 上，也可以利用 Quicker 来实现“快捷向 Obsidian 写入笔记”的操作。整个过程无需打开 Obsidian 就可以实现。

## 追加到日记

首先展示效果，你可以通过选中内容，触发动作，就可以自动追加内容到当天的日记文件中 D\:\\ObsidianLibrary\\diary\\2023\-12\-03\-Daily\.md ，如果文件不存在，会自动创建该文件。

动作下载：

🔗追加到日记 \- Quicker 动作库

在 Drafts 那篇文章中，Drafts 本身是一个文本编辑器，主要是针对已经编辑好的文本内容进行操作。而 Quicker 更常见的触发方式是选中内容和剪贴板内容。所以这个动作会“优先获取选中内容，如果没有再获取剪贴板内容”。

其次，我希望能提取出所有 Template 放在变量中进行修改，比如拆分这个目录：

```
D:\ObsidianLibrary\diary\2023-12-03-Daily.md
```

可以分为 Obsidian 根目录\\日记目录\\日期前缀\-日记名 这样的结构，并且写入的内容是 当前时间 \+ 内容，所以我把这里用到的 5 个变量，都提取到变量列表中。你可以按照自己的喜好来自定义它的目录和写入的格式。

如果你什么都不设置，首次运行会检测 vaultPath 变量，让你手动选择一次根目录。后续就会保存这个变量，不再需要选择目录了。

整个动作最核心的步骤就是这一步：将新增的内容追加到当天的日记文件中。其他的步骤属于锦上添花。

## 添加笔记

添加笔记的效果是，你可以通过选中内容，触发动作，就会在 Obsidian 的特定目录下（默认 notes）创建笔记，使用第一行内容作为文件名。

动作下载：

🔗 添加笔记 \- Quicker 动作库

“添加笔记”的结构与“追加到日记”类似，只不过需要写入的文件名变成了“首行文本”。这里有一个注意点：在 Windows 中，文件名不允许包含以下字符： \<, \>, \:, ", /, \\, ?, \*, \|。

所以我们需要额外添加 3 个步骤：首先需要将文本转换为列表，再获取第一行内容，最后用正则表达式删去这些不允许使用的字符。

这个正则表达式写法如下：

```
[<>:"/\\?*|]
```

我的处理方法是将这些符号替换成空格。由于 Quicker 的正则替换写法中是用 待替换内容\|替换结果 实现的，所以无法在正则表达式中包含 \| 符号了。我没有找到更好的办法解决这个问题，只能暂时去掉了对 \| 的处理。

如果你想去掉更多字符，比如 \# ，也可以在这个正则表达式里添加。你也可以选择使用缩短字符串的方式，避免文件名太长。

注意，由于这个动作设计目的不是用于网页剪藏的，没有特意去支持 HTML 的获取和写入。所以不支持图片的写入。如果你希望改造这个动作，考虑到 HTML 标签的复杂性，你可能需要去掉许多无关字符才能将首行作为文件名。

所以这两个动作合适的场景是，比如在微信、钉钉中有人提到某件事，我选中运行动作就可以快捷地记录到 Obsidian 而无需打开 Obsidian。

---

[前往标准阅读页](https://utgd.net/article/20487?audience=web)
