Obisidian内部引用路径处理问题
前言
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 参数的解释:
- 此 api 生成的链接可以是相对路径,也可以是整个 vault 的绝对路径。
- 基于 source 的值,非空则是相对路径,为空字符串则是绝对路径。