有没有"历史上的今天"的插件或者设置?

如题,我希望实现"历史上的今天"这个功能,要怎么做呢

记笔记的时候在yaml里放个uid就行,然后dataview展示

知道有一个小软件,ob中要是有这么一个插件就很棒了

```dataviewjs
let date = moment().format('MMDD')
let url =  `https://zhufred.gitee.io/zreader/ht/event/${date}.json`
let res = await request({url: url,method: "GET",});
let data = JSON.parse(res)
dv.list(data.map(p=>p.title))
```

尝试一下万能的dataview吧

4 个赞

请问老师,如果是想显示http://www.people.com.cn/GB/historic/0514/这里的历史今天,又或是百度百科上更全面的今天,网址应该怎样更换呢

别别别,老师不敢当,只不过会一点代码而已 :rofl:

第一个网站用的gb2312编码,请求下来直接展示中文会乱码,但是我不会转码,所以我搞不了 :face_exhaling:
但是百度百科的可以

```dataviewjs
let month = moment().format('MM')
let date = moment().format('MMDD')
let url = `https://baike.baidu.com/cms/home/eventsOnHistory/${month}.json`
let res = await request({url: url,method: "GET"});
let data = JSON.parse(res)
console.log(data[month][date])
dv.table(
	['year','title','link'],
	data[month][date].map(p=>[p.year,p.title,`[link](${p.link})`])
	)
```
1 个赞

@ lazyloong 太感谢了!

感谢,不过我还想要实现一个 另一个"历史上的今天"的功能,就是可以看到 去年自己写的日记,要怎么弄(当然我可以直接搜索 年份减1的日期… 但是希望有个自动化脚本)

啊这,原来是这么个"历史上的今天"啊 :rofl:

```dataviewjs
dv.list(
	dv.pages(`"目录"`)
	    .filter(p=>p.file.name.includes(moment().format('MM-DD')))
	    .map(p=>p.file.link)
)
```

如果日记命名不是形如2022-05-18的话,可以修改format里面的参数

感谢老铁!! 不过如果我想显示里头的内容呢,而不是一个列表的形式,而是 ![[2021-5-18]] 这样

ps: 另外这个有个问题,这个脚本是根据"今天"的日期,而不是 日记文件名 中的日期(因为我打算作为一个日记模板来用,进入到不同时间的日期里头,显示的东西不一样)

比如

```query
"{{date:YYYY-M-D}}"

ps: 另外这个有个问题,这个脚本是根据"今天"的日期,而不是 日记文件名 中的日期(因为我打算作为一个日记模板来用,进入到不同时间的日期里头,显示的东西不一样)

比如

```query
"{{date:YYYY-M-D}}"
话说你是怎么把 ``` 显示出来的... 怎么反义
```dataviewjs
dv.pages(`"600-日常"`).filter(p=>p.file.name!=dv.current().file.name&&p.file.name.slice(4)==dv.current().file.name.slice(4)).map(async function(p){dv.paragraph('#### '+p.file.name+'\n'+await app.vault.readRaw(p.file.path))}).join('\n')
```

那这样就可以放在日记里面了,不过我感觉dv对嵌入不太支持啊,不知道是不是我的姿势不太对,反正我用嵌入的形式没成功,这是直接读取文件再渲染的

想显示三个 ` ,外面就包四个 ` 就行了

2 个赞

我天,我去找了半天原来论坛里的大佬给解决了。。。大佬求问有没有可能在dataview里加入对历史上的今天的长短控制,或者滚动条?我左边放了个每日诗词,右边想放个历史上的今天,但有的时候一下子会出来非常多条历史上的今天。。。。orz。。

可以啊,最后一行那个 4 就是数量了

```dataviewjs
let month = moment().format('MM')
let date = moment().format('MMDD')
let url = `https://baike.baidu.com/cms/home/eventsOnHistory/${month}.json`
let res = await request({url: url,method: "GET"});
let data = JSON.parse(res)
dv.table(
	['year','title','link'],
	data[month][date].slice(0,4).map(p=>[p.year,p.title,`[link](${p.link})`])
)
```

:smiling_face_with_three_hearts: 感谢大佬!完美的主页配置出现了,太感恩了,兔年吉祥呀~ :kissing_heart:

大神,我有个需求,希望能聚合显示某个文件夹下的全部笔记,一直不得其法。看到你的这段代码似乎能解决问题,我尝试修改了一下:

dv.pages('"01 工作"').sort(p=>p.file.name,'desc').map(async function(p){dv.paragraph('## '+p.file.link+'\n'+await app.vault.readRaw(p.file.path))}).join('\n')

竟然成功了,就是有个问题,汇聚内容包含了yaml内容,不知有没有方法去除?万分感谢!

先判断开头有没有 ---,有的话就从第二个 --- 截断

```dataviewjs
dv.pages(`"01 工作"`)
	.sort(p=>p.file.name,'desc')
	.forEach(async function(p) {
		let text = await app.vault.readRaw(p.file.path)
		let t = text.split('\n')
		if(t[0]=='---')
			t=t.slice(t.slice(1).findIndex(p=>p=='---')+2)
		dv.paragraph('## '+p.file.link+'\n'+t.join('\n'))
	})
```
1 个赞

太完美了,万分感谢!

感谢您的代码!非常好用!请问可不可以用dataviewjs实现展示某个特定文件的反向链接面板,就像官方的反向链接面板一样,展示包含该特定文件的所有文本块,并罗列在对应的文件名下面。有这个需求是因为官方的反向链接面板无法选中文字复制,也无法拖拽进笔记中。