DataviewJS参考示例
按钮修改 yaml
dataviewjs
// 这个是按钮的点击函数
const {update,autoprop} = this.app.plugins.plugins["metaedit"].api;
const buttonMaker = (pn, pv, fpath) => {
// 选项,值,路径
const btn = this.container.createEl('button', {"text": pv});
btn.addEventListener('click', async (evt) => {
evt.preventDefault();
//"新内容"要在Auto Properties中事先配置
const newtext = await autoprop("新内容")
await update(pn, newtext, fpath);
});
return btn;
}
dv.table(["文件","路径", "tags", "status"],
dv.pages("#Linux")
.map(t=>[t.file.link, t.file.folder,buttonMaker('tags',t.tags,t.file.path), buttonMaker('status', t.status, t.file.path)])
)
所有标签列表
仓库统计
dataviewjs
let ftMd = dv.pages("").file.sort(t => t.cday)[0]
let total = parseInt([new Date() - ftMd.ctime] / (60*60*24*1000))
let totalDays = "您已使用 ***Obsidian*** "+total+" 天,"
let nofold = '!"misc/templates"'
let allFile = dv.pages(nofold).file
let totalMd = "共创建 "+ allFile.length+" 篇笔记"
let totalTag = allFile.etags.distinct().length+" 个标签"
let totalTask = allFile.tasks.length+"个待办。 "
dv.paragraph(
totalDays + totalMd + "、" + totalTag + "、" + totalTask
)
所有带关键词的行
倒计时
Todo文件一行输出
任务列表
待办列表
最近一周文件列表
2024年8月文件列表
某年某月文件列表
文件夹下文件列表
MySQL文件夹列表
Atlas文件夹Table
指定多个文件夹Table
仓库文件夹Table