5 分钟配好 Obsidian 自定义附件位置:用变量模板告别根目录混乱
2026/8/23 23:46:59 网站建设 项目流程

5 分钟配好 Obsidian 自定义附件位置:用变量模板告别根目录混乱

【免费下载链接】obsidian-custom-attachment-locationCustomize attachment location with variables($filename, $data, etc) like typora.项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-custom-attachment-location

写长文时粘贴的截图总堆在 vault 根目录,名字清一色 "Pasted image",想整理又怕链接全断。Obsidian 自定义附件位置插件 Custom Attachment Location 把这件事当成配置问题:写一条路径模板,用变量决定每张图、每个 PDF 该进哪个文件夹,再用收集命令把散落的附件一次归位。

待补充:Obsidian 附件路径配置界面

它到底解决了什么:附件不再"无家可归"

一篇笔记动辄引用几十张图、几个 PDF,Obsidian 默认把它们全丢进同一个文件夹,看不出属于哪篇笔记。笔记一旦改名或移动,附件还留在原地,想找某张截图只能翻遍各个文件夹。

插件的做法是学 Typora:不选一个固定目录,而是写一条"路径公式"。公式里引用笔记名、所在文件夹、日期等动态值,每次粘贴时公式展开成真实位置,不同笔记的附件自然落在不同目录。笔记改名或移动时,附件目录与正文里的链接还能同步更新。

三步安装与启用

  1. 获取插件:在社区插件里搜 "Custom Attachment Location" 安装;或先克隆源码:git clone https://gitcode.com/gh_mirrors/ob/obsidian-custom-attachment-location
  2. 在"设置 → 第三方插件"中打开它的开关。
  3. 进入插件设置填写"新附件存放位置",默认值./assets/${noteFileName}可直接沿用。

路径规则一次讲透:变量语法对照表

Obsidian 附件路径模板的语法统一为${token}${token:format}。token 名不区分大小写,冒号后的格式区分大小写。路径以./开头表示相对当前笔记所在文件夹,不带./则相对 vault 根目录。

常用变量对照表

变量展开结果格式参数举例
${noteFileName}当前笔记文件名(不含扩展名)slug转短横线、lower转小写
${noteFolderName}笔记所在文件夹名indexFromEnd1取上一级目录
${date}当前日期时间${date:YYYY-MM-DD}输出 2026-08-22
${heading}光标上方最近的标题${heading:2}只取二级标题
${frontmatter}笔记 frontmatter 中的值${frontmatter:project}取 project 字段

三条可直接复制的路径模板:

  • ./assets/${noteFileName}:一篇笔记一个附件文件夹,最省心。
  • ./assets/${noteFolderName}/${date:YYYY-MM}:先按主题目录分层,再按月归档。
  • ./attachments/${date:YYYY}/${date:MM-DD}:纯时间轴归档,适合截图密集的用法。

想深入可以看:src/Substitutions.ts 注册了全部变量与格式参数;src/AttachmentPath.ts 负责把模板展开成附件的最终路径;src/PluginSettings.ts 存放路径、文件名等所有设置项的默认值。

三套附件路径插件配置模板:个人、研究者、团队直接抄

场景路径模板适用理由
个人笔记./assets/${noteFileName}附件跟着笔记走,找图等于找笔记
研究 / 论文管理research/${noteFileName}/${date:YYYY-MM}一个项目一个文件夹,附件按月沉淀,方便逐年回溯
团队共享库shared/${noteFolderName}/${date:YYYY-MM-DD}先按主题目录分层、再按天落盘,减少重名

防冲突与批量整理附件:三档命令怎么用

先防重名。"Generated attachment file name" 设置决定粘贴文件的新名字,默认file-${date:YYYYMMDDHHmmssSSS}精确到毫秒;改成${originalAttachmentFileName}-${date:HHmmssSSS}可保留原名。目标目录已有同名文件时,插件按"重复名分隔符"(默认空格)自动加序号,变成existingFile 1.pdf,不会静默覆盖。

再批量整理。命令面板有三档收集附件命令:

  • 收集当前笔记中的附件:只收拾这一篇引用的附件,日常最常用。
  • 收集当前文件夹中的附件:处理该目录下所有笔记的附件,适合单个子专题。
  • 收集整个库中的附件:全库扫描,适合刚迁移完或定期大扫除。

一个坑:附件被多篇笔记共同引用时,默认策略是跳过。若希望每篇笔记各留一份副本,把"多笔记引用"的处理方式改为复制或询问。

踩坑速查:症状 → 原因 → 解法

  • 症状:附件没进模板指定的目录,全落到了 vault 根目录。 原因:路径没以./开头,锚点从笔记文件夹变成了根目录。 解法:模板开头补上./
  • 症状:保存设置时提示 Unknown token,或变量没被展开。 原因:变量拼错,或冒号后的格式参数写错(格式区分大小写)。 解法:对照上文对照表逐项核对拼写。
  • 症状:批量整理后,个别笔记里的图片链接失效。 原因:那张图是共享附件,默认策略是跳过它。 解法:把多笔记引用处理改为复制或询问,让每篇笔记各留一份。
  • 症状:粘贴的文件被改成了带数字的名字。 原因:目标目录已有同名文件,插件加了重复分隔符,属于预期行为。 解法:介意的话把"重复名分隔符"改成连字符。

这个插件的核心就两点:新附件按模板落地,旧附件靠收集命令搬到位。先把路径设成./assets/${noteFileName},再跑一次全库整理,根目录的混乱一次就能收干净。

【免费下载链接】obsidian-custom-attachment-locationCustomize attachment location with variables($filename, $data, etc) like typora.项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-custom-attachment-location

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询