【已解决】Yaml区中modified时间能否自动更新


遇到的问题

每次对md进行补充或修改后,发现yaml区中的modified时间并未更新,需要删掉yaml再次创建yaml,但这样的话原先填写的信息如tags、source等都需重新填写。

所以想请教下有没有在每次编辑完后,modified时间自动更新的方法。

如图

1 个赞

update time on edit
beaussan/update-time-on-edit-obsidian (github.com)

好像不太行耶,不知道我设置得对不对。

update time on edit 设置

yaml模板

效果图,modified时间并未更新。

要不试一下Templater的动态命令

<%+ tp.file.last_modified_date() %>

需要在Reading view下看。

另外我去英文论坛看了一下,这个存在部分人无法实现的问题。找到另外一种方案:

使用dataview语法

`$= dv.current().file.mtime.toFormat(“yyyy-mm-d,hh:mm”)`

这个语法在Front-matter不起作用。

不知道对不对,但没效果。。。

不好意思,我在重新编辑内容,已经在上面给了一种新方案。这个语法确实存在问题,虽然我的电脑上是可以实现的。这是英文论坛里的讨论How can I tell the last time a note was updated?

有试过linter插件吗?自动格式化md,包括对front-matter的操作

感谢给予的两种方案。

第一种方案是符合我的需求的:在front-matter实现last_modified的自动更新;虽然我这边无法实现,可能跟版本有关?我的obsidian是0.15.9版本

第二种虽然不符合我的需求,但对我工作流也有帮助。

第一种方案,我再次在沙盒中尝试,可以实现


目前版本:
image
我使用的是Windows,不知道你使用的是什么系统。可以在沙盒中再次尝试一下,是否实现。

1 个赞

同Windows11系统,在沙盒中升级obsidian版本之后,第一种方案可实现,非常感谢。

第一种方案modified时间自动更新需要重新打开对应的md才会更新;

第二种方案虽然无法在frontmatter中起作用,但2s自动更新时间一次,无需关闭并重新打开obsidian,是实时更新。