痛点:我当前的设置是 “ 基于当前文件所在的文件夹 ”,我的索引页面与所有笔记是分离存放的,这致使每当我在索引页面创建一个不存在的笔记的链接时,默认新建在了索引页面的文件夹中,实际上我想让他存放在下一层级的 “ Node ” 文件夹内,每次进行此类操作时都要手动移动文件,不方便。
以 “Math” 文件夹举例,我的目录层级如下:
类似于附件默认存放路径的设置,其中可选择 “ 当前文件所在文件夹下指定的子文件夹中 ”,这很好的将每一类相关文件夹的附件进行了分离,但对于新建笔记却没有这种选项,想问一下有没有插件能够更改默认新建笔记存放位置的逻辑,以实现我的需求。
emmm,可能有人觉得大可不必分离索引页面和笔记内容,我个人习惯是在文件列表只展开至索引层级,展开到笔记层级会非常杂乱,我还带点强迫症,所以我觉得分离是有必要的。
如果用右键文件夹的方式建立笔记的话,又有两个弊端:
- 相比于直接在索引文件建立笔记的方式多了两步操作,还不如手动移动笔记至文件夹中。
- 当在索引文件批量建立新笔记时,此方式只能手动一个个新建。
由社区用户 “ champ ” 开发的 “ default-locations-for-new-notes ” 插件已成功解决此问题,并且更好的支持了设定不同目录新建笔记的存放逻辑,链接如下:
2 个赞
ennea
(神哦)
4
还有个思路就是用folder note 插件,文件夹下面同名的笔记就是你的索引文件,新建的笔记就存在当前文件夹中,然后你点击文件夹就可以直接打开索引文件。
太酷啦,小小的测试了一下,完美实现了我的需求,很棒的小插件!
有个小建议:可以增加当指定目录不存在时的异常处理的选项功能,供用户自选选择此情境下新建笔记的存放位置~,这样就不单只索引文件能使用了,也方便了用户在写笔记时可以将笔记自动放置在当前目录。
champ
(ckisok)
6
其实可以加一个选项:当配置的目录不存在时是否创建该目录
如果开启了这个选项,则新笔记将存放在这个新创建的目录中;如果不开启,则保持现在的逻辑(放在仓库的根目录下)
不知道你说的异常处理的选项都有哪些?
这个选项也不错。
我考虑到,有些使用场景是写笔记的时候会用双链机制创建笔记,比如一个公式他想单独创一个笔记链接到当前笔记,它们应该同属于 “Math/Node/” 文件夹下的笔记,而如果他选择了存放到配置的目录中,会因为没有此目录被放在仓库的根目录下,如果加入一个选项能够在不开启 “当配置的目录不存在时是否创建该目录” 时配置存放的逻辑(例如:仓库根目录、当前文件所在的文件夹、配置的文件夹),用户就可以自行定义不存在此目录是存放的逻辑了。
champ
(ckisok)
8
我懂你的意思了,你的意思是在索引笔记中创建的新笔记放在索引笔记所在目录下的Node子目录中,而在Node目录下的笔记创建的新笔记放在当前的Node目录中,而不是下级Node子目录中(如果开启自动创建文件,就会自动创建嵌套的Node目录)。
这种确实不能用“是否创建不存在的目录”来解决,这种想要通用,只能是加自定义匹配规则了,判断父笔记所在路径,然后配置在这个路径下的笔记中创建新笔记时保存的位置,这样的话,针对你这个场景,只用配置2条规则:索引文件所在目录和Node目录即可
champ
(ckisok)
9
举个例子,假设有一个笔记位于/a/b/c.md
,在这个笔记中所创建的新笔记的存放位置,取决于匹配到的规则,匹配顺序依次为:
- /a/b/c.md
- /a/b/
- /a/
- /
其中每一条规则都可以配置一个目标路径(支持root/current变量)
则你的场景只需要下面这两条规则即可:
/Math/${*}/Node: ${current}
/Math/${*}/: ${current}/Node
${*}
是一个目录通配符
不知道这样是否符合你的预期
champ
(ckisok)
13
还有一个就是,你在新建笔记的时候就指定绝对路径,这样也可以实现这个需求
haohao
18
解决了 和一个插件冲突。不得不吐槽一下那个插件,导致ob笔记切换卡顿,还会影响你开发的这个插件。
郭文锑
(郭文锑)
19
请问已经按要求将插件文件夹放到.obsidian\plugins中,但是在启用时报这个错误是什么原因呢?谢谢!
用 obsidian42 brat
插件安装试试呢