Dataviewjs的奇技淫巧

尝试了一下新的代码,其作用了。
但是不知道为筛掉了一部分,另外一部分没筛掉。

再次确认了一下,##收获 下面有一个空行,不知道里面是有空格还是啥的,删了就会被筛掉。
同时对该文件重新操作,再次回车增加空行,也依然保持被筛掉的状态。看起来还是我的日记文件本身有问题。

最后,感谢帮助!

天呐,才发现已经盖到100楼了,真是承蒙大家关注了:rofl::partying_face::partying_face:

1 个赞

大佬,去抓取没有完成的 任务 遇到两个问题:
dv.taskList(dv.pages(’“DailyLog”’).file.tasks.where(t => !t.completed))
1.怎么样不把当天的抓进去
2.抓出来的怎么按照日期来排序?
如果大佬有时间,麻烦帮忙看下,非常感谢 :grinning:

这个日期是哪里的啊,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汇总特定小标题下的内容呀?


~小尾巴~
请问如何用dataviewjs汇总特定小标题下的内容?

请问如何调整移动端的mermaid流程图边框,减少空白部分?

请问如何获得文件夹的链接呢?

汇总特定标题下内容的方法前面好像提到过几次,基本思路是以 #+ 来正则分割文章,分割后再匹配开头是标题的段落

```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)
```
2 个赞

请问大佬,搜索出来的结果能否按照文件名折叠起来呢

折叠是折叠成什么样呢

就是您看这最后一行是 dv.paragraph("## "+p.file.name+…,这个filename被渲染成二级标题,但是仅仅是显示为二级标题样式,不能像普通的二级标题那样折叠下面的内容