大家好, 请教一个关于obsidian中文件创建时间的问题。
我今天把我的obsidian库从一台电脑迁移到另外一台电脑了,迁移直接就是把obsidian的库文件打包移动了。 obsidian有一些dataview的代码片段会罗列每周新增的文件(基于dataview的时间,没有使用yml元数据)。
迁移到新电脑后,发现daview的代码片段失效了,初步看了一下发现,dataview中取的时间应该是dataview插件更新的元数据(包括创建时间、修改时间)。移动到新电脑后,发现所有的文件的创建时间都变成了今天,导致dataview失效。
关于这个库移动后,有什么办法可以使用保留之前文件的创建时间?
zip 压缩然后解压到你想要的位置。zip 压缩文件被解压时会保留元信息。当然这样比较麻烦。
Windows 用户可以试试用 Robocopy 工具复制,这个是内置的命令行工具,但我记得也有图形界面,可以搜索一下
Robocopy GUI
。别的平台应该也有类似的工具。
但我还是建议你尽早把日期写进笔记中,对应的 dataview 查询也改掉。(推荐用 ISO 8601 这类标准格式记录。)
有个叫 linter 的插件可以在你
Ctrl+S
主动保存时自动修改 yaml。你可以在迁移前安装这个插件,把它的别的设置都关上,只启用自动更新日期的那个选项,然后执行
Linter: Lint all files in the vault
命令。(建议执行前用我上面提到的方案做好备份,比如打一个 zip 包当临时快照保留一段时间,免得出什么意外。)
当然应该还有别的类似的插件能做到类似的事,这个我就不清楚了。
我这边暂时使用了linter的插件来管理我的yaml区域,目前linter插件已经满足了我大部分的诉求了。
但是随着引入了yaml区域的概念, 一个头疼的问题就是如何管理yaml的tags。
目前在yaml区,必须要通过“#” 才能够进行tag联想, 可是这样的话必须要手动的删除掉#,否则在预览模式下 tags的信息是不会显示出来。
关于yaml的tags管理,目前有没有什么比较好的方式