Obsidian 自定义附件路径实战:3 个变量搞定附件自动归档,旧文件一键收编
Obsidian 自定义附件路径实战3 个变量搞定附件自动归档旧文件一键收编【免费下载链接】obsidian-custom-attachment-locationCustomize attachment location with variables($filename, $data, etc) like typora.项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-custom-attachment-location每次往 Obsidian 里粘贴截图图片就堆在仓库根目录换台设备后笔记里的图全变裂这正是Custom Attachment Location插件要解决的痛点它是一款自定义附件路径插件用变量模板把Obsidian 附件管理变成自动化流程——新附件按规则自动落位散落的历史文件也能批量收编并修复链接。先看清楚附件到底乱在哪粘贴即散落不配置路径时所有粘贴的图片都扔进同一个默认文件夹几十篇笔记的插图混在一起想找那张图只能靠翻。链接比想象中脆弱图片挪个位置笔记里的引用就失效笔记改名后附件文件夹不同步图直接裂开。Obsidian 图片路径混乱的根源就是这两点。历史包袱靠手搬不现实用了两年的库散落的图片可能上百张。逐张移动再逐个改链接不现实。️ 原理两个模板决定附件的一生落点模板在新附件位置里写路径模板例如./assets/${noteFolderName}/${date:YYYY-MM}。开头的./表示相对路径漏掉它是路径不生效最常见的误会——路径会落到跟预期完全不同的地方。命名模板生成的附件文件名控制粘贴时的文件名。默认值file-${date:YYYYMMDDHHmmssSSS}靠毫秒时间戳几乎不会撞名想保留原文件名可写${originalAttachmentFileName}-${date:YYYYMMDDHHmmss}重名时插件自动补上分隔符默认空格依次生成report 1.pdf、report 2.pdf。常用变量对照表变量含义示例输出${noteFileName}当前笔记名读书笔记${noteFolderName}笔记所在文件夹项目A${date:YYYY-MM}当前日期Moment 格式2026-08${heading:2}光标上方最近的二级标题实验记录${frontmatter:tag}笔记 frontmatter 中的值math${prompt}粘贴时弹窗让你手动输入自定义名称${random:uuid}随机 UUID防重名3f2a…变量后还可跟二级格式如${noteFileName:slug}会转小写并把空格换成连字符。解析逻辑见 src/Substitutions.ts。 上手10 分钟配好自动归档三步配置在社区插件列表搜索 Custom Attachment Location 并启用开发者也可git clone https://gitcode.com/gh_mirrors/ob/obsidian-custom-attachment-location获取源码研究设置附件落点例如./assets/${noteFileName}/${date:YYYY-MM}设置命名模板例如${noteFileName}-img-${date:YYYYMMDDHHmmss}。此后在调研笔记里粘贴截图文件会自动进入assets/调研笔记/2026-08/markdown 链接同步插入。别忽略的几个开关特殊字符替换默认把#^[]|*\:?/替换为-避免路径炸掉默认值见 src/PluginSettings.ts统一小写大小写敏感系统同步时省心粘贴压缩可把粘贴图片转成 JPEG质量默认 0.8孤儿清理删除笔记时顺手删掉不再被引用的附件。笔记改名附件跟着走路径里含${noteFileName}时重命名笔记插件会自动改对应的附件文件夹并同步更新文件内的引用不用事后善后。 存量收编批量整理不丢链接按范围挑命令插件提供三个收集范围单篇笔记、当前文件夹、整个仓库。小库可以一次全量大库建议先在当前文件夹试跑确认效果再扩大范围。一张图被多篇笔记引用时收集过程会询问如何处理这种共享附件复制给每个引用方、移动并修复其余链接、逐例询问或跳过。默认跳过最稳妥。链接修复是自动的收集器移动文件后会扫描所有引用该附件的笔记一次性重写链接核心逻辑在 src/AttachmentCollector.ts。求稳的话全量整理前先备份一次。❓ 高频问题避坑路径不生效先查两处确认开头./是否写了变量拼写是否完整包在${}里名称不区分大小写但拼错最常见。变量上下文定义见 src/TokenEvaluatorContext.ts。想按年/月分层怎么办一条模板里可以叠多个日期变量assets/${date:YYYY}/${date:MM}格式遵循 Moment.js 写法。内置变量不够用在自定义 token设置里用registerCustomToken(tag, (ctx) …)注册新变量比如直接读 frontmatter 字段做目录配合${random:uuid}防重名。建议路线先用默认./assets/${noteFileName}跑两周稳定后再加日期层旧库做一次全量收集新内容交给模板自动归档遇到现成变量覆盖不到的场景再注册自定义 token。【免费下载链接】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),仅供参考