obsidian 目录排序
· 阅读需 2 分钟
引言
众所周知, 在 obsidian 中的目录和文件(以下简称目录或文件)默认是没办法自定义排序的.
毕竟在系统层面也是如此.
目前应用内的解决方案大体上分两种
- 为自带的"文件列表"开发排序插件. 例如
- Manual Sorting
- Custom File Explorer sorting
- 开发一个"文件列表"的替代品, 包含自定义排序功能. 例如
- File Tree Alternative %% 一年以上未更新, 有一些问题, 功能一般, 兼容性还行 %%
- MAKE.md %% 主打 database, 功能过于庞杂 %%
- FolderFile Splitter %% 功能较少, 兼容性不足 %%
- Notebook Navigator %% 功能相对全面, 兼容性待提升 %%
这两种方案几乎是不相容的.
所以, 对命名进行编号几乎是唯一可行的方案, 也是通用性最好的方案.
但是改变命名会牵扯到很多配置的修改.
并且通常我们还期望一套配置能够适用多个场景而无需变动.
所以, 这对我们的命名方案有极高要求.
编号命名排序法
理论上文件的命名比编程中的命名要宽松一些.
但为了保证跨平台的一致性, 建议仅用字母和数字(以及_, 仅连接用, 不要纠结其编码排序)
简化后的排序规则: 数字 > 字母(大写 > 小写, 但通常系统不会区分)
- 00~9z
- 00~0z
- 10~8z
- 90~9z
- a0~zz %% 不稳定 %%
优先保持正常不变. 避免数字、字母选择的随意性, 并尽可能预留冲突扩展空间.
需求实例:
- 00_Inbox: 置顶?
- a0_Private
- b0_Jottings
- c0_Pages
- z6_Projects
- z7_Areas
- z8_Resources
- z9_Archives: 置底但需与 P.A.R.A. 一起 %% 为什么不能用 9x, 因为那样的话前面就只能是数字开头了 %%
- zz_Misc: 置底
- Ext: 置底?
最终的修改与效果
- _Inbox: 移除了编号, 使其更加简洁稳定, 同时尽可能置顶(
_可以确定在小写字母之前, 在自然排序下能在数字之前) - 01_Private: 为了超过 Archives, 只能改用数字, 并且为了不影响其他已有编号, 限定在 0 开头内(牺牲了扩展空间)
- 02_Jottings: 同上
- 03_Pages: 同上
- Archives: 因为我不需要完整的 P.A.R.A., 所以这里的简化是 ok 的
- Ext
- Misc