Skip to content

Obsidian ​

Obsidian 是一个强大的知识库,基于本地纯文本 Markdown 文件夹工作。Protocol Launcher 允许您生成深度链接以在 Obsidian 中打开笔记、创建新笔记、搜索和执行命令。

使用方式 ​

有两种使用此库的方式:

  • 按需导入(On-Demand):从子路径导入支持 tree-shaking,保持较小的打包体积。
  • 完整导入(Full Import):从根包导入更方便,但会包含所有应用模块。

生产构建建议选择按需导入;快速脚本或演示可以使用完整导入。

选择安装方式

按需加载
推荐使用。生产环境优化。
全量导入
使用便捷。适合快速脚本。

openNote 和 newNote 支持 path 和 paneType(tab、split、window;window 仅限桌面端)。Obsidian 中 path 优先于 vault 和 file。newNote 支持 file、path、paneType、clipboard、silent、overwrite 和 xSuccess;用 silent: true 创建而不打开。既有插件相关函数继续保留,但不属于核心 URI 官方文档的范围。

打开 Obsidian ​

On-Demand
ts
import { open } from 'protocol-launcher/obsidian'

const url = open()

打开笔记 ​

在 Obsidian 中打开特定的笔记。

On-Demand
ts
import { openNote } from 'protocol-launcher/obsidian'

const url = openNote({
  vault: 'My Vault',
  file: 'Notes/Meeting.md',
})

新建笔记 ​

在 Obsidian 中创建新笔记。

On-Demand
ts
import { newNote } from 'protocol-launcher/obsidian'

const url = newNote({
  vault: 'My Vault',
  name: 'New Note',
  content: 'Hello World',
})

搜索 ​

在 Obsidian 中搜索笔记。

On-Demand
ts
import { search } from 'protocol-launcher/obsidian'

const url = search({
  vault: 'My Vault',
  query: 'meeting notes',
})

插入内容 ​

在 Obsidian 的当前笔记中插入内容。

On-Demand
ts
import { insert } from 'protocol-launcher/obsidian'

const url = insert({
  vault: 'My Vault',
  content: '## Heading',
})

执行命令 ​

在 Obsidian 中执行命令。

On-Demand
ts
import { command } from 'protocol-launcher/obsidian'

const url = command({
  vault: 'My Vault',
  id: 'editor:save-file',
})

选项 ​

打开 Obsidian 的选项(快速设置)。

On-Demand
ts
import { options } from 'protocol-launcher/obsidian'

const url = options({
  vault: 'My Vault',
})

设置 ​

打开 Obsidian 设置。

On-Demand
ts
import { settings } from 'protocol-launcher/obsidian'

const url = settings({
  vault: 'My Vault',
  page: 'editor',
})

每日笔记 ​

创建或打开每日笔记,需要启用核心插件 Daily notes。支持 new 动作的参数。

On-Demand
ts
import { dailyNote } from 'protocol-launcher/obsidian'

const url = dailyNote({
  vault: 'My Vault',
  content: 'Daily notes',
  append: true
})

唯一笔记 ​

启用核心插件 Unique note creator 后创建唯一笔记。

On-Demand
ts
import { uniqueNote } from 'protocol-launcher/obsidian'

const url = uniqueNote({
  vault: 'My Vault',
  content: 'Hello World'
})

仓库管理器 ​

打开仓库管理器。

On-Demand
ts
import { chooseVault } from 'protocol-launcher/obsidian'

const url = chooseVault()

为 Hook 获取地址 ​

向 Hook 返回当前笔记地址。未传回调时,将其 Markdown 链接复制到剪贴板。

On-Demand
ts
import { hookGetAddress } from 'protocol-launcher/obsidian'

const url = hookGetAddress({
  xSuccess: 'hook://x-callback-url/setCurrentNode'
})

官方文档 ​