Obisidian内部引用路径处理问题

2025 年 12 月 07 日
14 次浏览
1477 字数

前言

Obsidian 对内部引用路径的处理方式,不是完全的 url 编码,只是对空格这类字符进行编码。为了实现 webLink 和 internalLink 转换的一致性以及 Obsidian 编辑器输入 [[]] 自动转换链接时逻辑的一致性,建议使用 Obsidian 内部的 api 来获取文件的路径:`app.filemanager.generateMarkdownLink

Api 介绍

interface FileManager {
    // 生成Markdown链接
    generateMarkdownLink(
        file: TFile,
        sourcePath: string, 
        subpath?: string,
        alias?: string
    ): string;
    
    // 处理链接的其他方法
}

对于 sourcePath 参数的解释:

  1. 此 api 生成的链接可以是相对路径,也可以是整个 vault 的绝对路径。
  2. 基于 source 的值,非空则是相对路径,为空字符串则是绝对路径。

补充

2025.12.16 补充一个新的 api

interface metaCache {
	fileToLinktext(
		file: TFile, 
		sourcePath: string, 
		omitMdExtension?: boolean  // omit省略
	): string;

}

暂无标签