obsidian社区插件
Dataview 实战 - 获取前后的日记链接(不一定是昨天)
插件ID:dataview%E5%AE%9E%E6%88%98-%E8%8E%B7%E5%8F%96%E5%89%8D%E5%90%8E%E7%9A%84%E6%97%A5%E8%AE%B0%E9%93%BE%E6%8E%A5%E4%B8%8D%E4%B8%80%E5%AE%9A%E6%98%AF%E6%98%A8%E5%A4%A9
dataview%E5%AE%9E%E6%88%98-%E8%8E%B7%E5%8F%96%E5%89%8D%E5%90%8E%E7%9A%84%E6%97%A5%E8%AE%B0%E9%93%BE%E6%8E%A5%E4%B8%8D%E4%B8%80%E5%AE%9A%E6%98%AF%E6%98%A8%E5%A4%A9
dataview%E5%AE%9E%E6%88%98 %E8%8E%B7%E5%8F%96%E5%89%8D%E5%90%8E%E7%9A%84%E6%97%A5%E8%AE%B0%E9%93%BE%E6%8E%A5%E4%B8%8D%E4%B8%80%E5%AE%9A%E6%98%AF%E6%98%A8%E5%A4%A9:获取前一天或者后一天的笔记的链接(不一定是相邻的两天)
Dataview 实战 - 获取前后的日记链接(不一定是昨天)
在日记中也许你会放上一个到前一天的链接,考虑到不一定是每天都写日记,前一天不一定是昨天,因此这个操作当然可以手动完成,但是如果你想要放在模板里面就不只是 day - 1 那么简单了。这里提供一份使用 dataview 的方法
```dataview
LIST
FROM "10 Example Data/dailys"
WHERE file.name != this.file.name AND file.day < this.file.day
SORT file.day DESC
LIMIT 1
```
主要逻辑就是利用日期的比较运算,找到距离本文件创建日期最近的文件,就是前一份日记。你也可以用行内查询把他放到某一段中
`$= dv.pages('"10 Example Data/dailys"').where(p => p.file.day && p.file.day < dv.current().file.day).sort(p => p.file.day, "desc").file.link.limit(1)`
只需要把小于号改成大于号,我们就可以得到后一天的日记的链接啦
```dataview
LIST WITHOUT ID t
FROM "10 Example Data/dailys"
WHERE file.name != this.file.name AND file.day > this.file.day
SORT file.day ASC
FLATTEN "Next day: " + file.link AS t
LIMIT 1
```
注意,这里还是用了 FLATTEN 来为结果拼凑了一个 “Next day” 上去
讨论
若阁下有独到的见解或新颖的想法,诚邀您在文章下方留言,与大家共同探讨。
反馈交流
其他渠道
版权声明
版权声明:所有 PKMer 文章如果需要转载,请附上原文出处链接。