尝试了一下新的代码,其作用了。
但是不知道为筛掉了一部分,另外一部分没筛掉。
再次确认了一下,##收获 下面有一个空行,不知道里面是有空格还是啥的,删了就会被筛掉。
同时对该文件重新操作,再次回车增加空行,也依然保持被筛掉的状态。看起来还是我的日记文件本身有问题。
最后,感谢帮助!
尝试了一下新的代码,其作用了。
但是不知道为筛掉了一部分,另外一部分没筛掉。
再次确认了一下,##收获 下面有一个空行,不知道里面是有空格还是啥的,删了就会被筛掉。
同时对该文件重新操作,再次回车增加空行,也依然保持被筛掉的状态。看起来还是我的日记文件本身有问题。
最后,感谢帮助!
天呐,才发现已经盖到100楼了,真是承蒙大家关注了
大佬,去抓取没有完成的 任务 遇到两个问题:
dv.taskList(dv.pages(’“DailyLog”’).file.tasks.where(t => !t.completed))
1.怎么样不把当天的抓进去
2.抓出来的怎么按照日期来排序?
如果大佬有时间,麻烦帮忙看下,非常感谢
这个日期是哪里的啊,task本身并没有时间,这个日期应该只能是笔记文件的,不过这样会导致同一个文件的task只能在一起,比如隔几天在同一个文件里写task是分不开的
我是每天一个日记,日记的名字就是当天的日期,比如2022-07-07,那么我要在7号当天把之前没有完成的Task都抓取到当天来,按照日期的顺序,抓到一起。
那好办嘛
```dataviewjs
dv.taskList(dv.pages().file.tasks.filter(p=>p.path.split('/').slice(-1)!=moment().format('YYYY-MM-DD')&&!p.completed).sort(p=>p.path))
```
请问下,这个代码,如果我现在打开5号的日记,6号的未完成事项,是不是会被抓出来?
这个是基于今天的时间,还是说你想跟笔记的时间比较
跟笔记的时间比较,比如笔记是5号,就跟5号比,6号就跟6号比。
```dataviewjs
dv.taskList(dv.pages().file.tasks.filter(p=>p.path.split('/').slice(-1)!=dv.current().file.name&&!p.completed).sort(p=>p.path))
```
非常感谢,应该可以用了。
汇总特定标题下内容的方法前面好像提到过几次,基本思路是以 #+
来正则分割文章,分割后再匹配开头是标题的段落
```dataviewjs
const term = "日常记录"
const files = dv.pages(`"600-日常" and #日记`).sort(p=>p.file.name)
files.map(async function(p){
let x = await app.vault.readRaw(p.file.path);
x = x.split(/^#+ /m).find(p=>p.startsWith(term));
dv.header(2,p.file.name);
dv.paragraph(x.split('\n').slice(1).join('\n'))
})
```
请问如果是想要把这个以dv.table的方式展现则应该怎么写呢
以dv.table方式展现是什么意思呢,是指标题当表头,内容放表格吗
是的,类似
文件名称 | 标题 |
---|---|
文件名 | 段落 |
这种的
这样啊,这种的表格展示正好之前有Johnny学OB的群友问过
```dataviewjs
const term = "日常记录"
const files = dv.pages(`"600-日常" and #日记`).sort(p=>p.file.name)
let a = []
for(let i of files) {
let x = await app.vault.readRaw(i.file.path);
x = x.split(/^#+ /m).find(p=>p.startsWith(term));
a.push([i.file.name, x.split('\n').slice(1).join('\n')])
}
dv.table(['文件名', term],a)
```
请问大佬,搜索出来的结果能否按照文件名折叠起来呢
折叠是折叠成什么样呢
就是您看这最后一行是 dv.paragraph("## "+p.file.name+…,这个filename被渲染成二级标题,但是仅仅是显示为二级标题样式,不能像普通的二级标题那样折叠下面的内容