Templater 代码为什么有时候会渲染不了?

如下图的这个示例页,
入库时间这个属性,
一般都是可以渲染的,
渲染结果是页面创建的时间,
格式如 2025-09-26 10:35:57

但有时候就是渲染不了,
显示的是源码。
请问这个应该怎么办?

image

我搜 AI,它说: 问题的核心在于:"打开日记笔记启动时"功能Templater 插件的执行时机 存在冲突。当通过日记按钮或启动时自动创建日记笔记时,Templater 代码不会被正确执行,但手动创建笔记时可以正常工作。

可是我前几天都用的好好的啊,Obs 和 Templater 的版本都是最新的,之前可用时,版本就已经是最新的了。

1 个赞

试了一下,似乎是语法错误,可以使用下面的代码添加创建时间:
<% tp.date.now("YYYY-MM-DD HH:mm") %>

不是模板问题,以前模板都是可以用的。
就是点击「日记」图标以后,
就可以根据模板生成当天的日记,
yaml区是正确的。

但是,不知道什么时候开始,
点击「日记」图标以后,
yaml区就不渲染了。如下图1。

但是:如果点击左侧的模板按钮(如下图2),
在下拉框中选择刚才用的日记模板,
却可以生成。如下图3。

图1
image

图2
image

图3
image

日记模板如下:

---
上床时间: <% tp.file.creation_date("YYYY-MM-DDTHH:mm:ss") %>
起床时间: <% tp.file.creation_date("YYYY-MM-DDTHH:mm:ss") %>
时长小时:
体重:
星期:
  - <% tp.file.creation_date("dddd") %>
---
1 个赞

我猜测是Obsidian的核心插件Daily notes第三方插件Template在模板设置上的冲突。

现在这种显示,是因为用前者自动创建日记,但模板中用的后者的语句,前者不理解,就显示为字符了。

我的解决方法是:
1.删除Daily notes中的日记模板位置。
2.在Template-设置-Enable folder templates,把你的日记路径和模板文件匹配上。