链接索引

链接索引是 Tydora 的后台服务,负责扫描仓库、构建并维护所有笔记之间的链接关系。它是 03-知识管理/01-Wiki链接 自动补全、03-知识管理/03-反向链接 局部图谱、03-知识管理/04-知识图谱、03-知识管理/06-标签 与 05-导航与搜索/01-快速打开 的数据底座。

Abstract

你通常无需直接接触链接索引——它在后台静默工作。本页说明它的机制,便于理解为何链接「总能正确解析」。

索引内容

索引类型 说明
出链(outlinks) 当前笔记链接了哪些笔记
反链(backlinks) 哪些笔记链接了当前笔记
文件名索引 文件名 → 路径映射,支撑 [[笔记名]] 解析与补全
图片名索引 图片文件名 → 路径映射,支撑 ![[图片.png]] 嵌入与悬停预览
标签索引 标签 → 文档映射,支撑标签列表、标签图谱与 #标签 筛选

工作机制

首次构建

  1. 打开仓库时扫描整个目录树
  2. 跳过以 . 开头的隐藏文件与目录(如 .git、.obsidian)
  3. 解析所有 Markdown 文件中的 [[链接]]、![[嵌入]]、#标签 与 Frontmatter 的 tags
  4. 一次性构建链接关系表与标签表

联合构建

链接索引与标签索引共享同一次扫描:先尝试从本地缓存恢复,缓存不可用时再扫一次仓库、批量读取文件内容,然后同时喂给链接解析器与标签解析器。这样仓库很大时也只需要读一遍文件。

增量更新

  • 保存文件时,只更新该文件的链接与标签
  • 文件系统监听(见 04-文件管理/01-仓库)发现新增 / 删除 / 重命名 / 外部修改时,刷新受影响的条目
  • 重命名或移动文件时,会顺带重写指向它的 WikiLink,保持链接不失效

持久化

项目 说明
链接索引 localStorage 键 zmd-link-index
索引归属仓库 localStorage 键 zmd-index-vault,用于判断缓存是否仍然有效
标签索引 localStorage 键 zmd-tag-index
Tip

切换仓库时,如果缓存的索引属于另一个仓库,Tydora 会自动重建,不会串数据。

性能表现

  • 批量读取:构建时批量读取文件,避免逐个 IO 造成卡顿
  • 后台异步:索引构建不阻塞编辑
  • 增量优先:日常编辑只触发小范围更新
  • 延迟加载:图谱渲染使用 WebGL,节点数量大时依然流畅
Note

仓库很大时,首次启动的索引构建可能稍耗时,之后都会是轻量的增量更新。构建期间链接补全与图谱可能暂时不完整,稍候即可。

为哪些功能提供数据

相关文档