const trackerData = {
entries: [],
separateMonths: true,
heatmapTitle: "主卡片热力图",
heatmapSubtitle: "每天创建的主卡片数量",
}
// Collect and count files by created date
const dateCounts = {};
for (let page of dv.pages("#ZK/MainCard")) {
const date = page.created.toISODate();
dateCounts[date] = (dateCounts[date] || 0) + 1;
}
// Populate entries
for (const [date, count] of Object.entries(dateCounts)) {
trackerData.entries.push({
date: date,
intensity: count,
content: count, // `[${count}](${date})`)
});
}
renderHeatmapTracker(this.container, trackerData);
TODOs
filter by function task.file.property('tags').includes("#ZK/MainCard")
Antinet 入口笔记
Antinet 树根
满足正则 ^\d\.\d$
文件名的笔记
const rootReg = /^\d\.\d$/;
const pages = dv.pages('#ZK/MainCard')
.where(p => !p.file.path.includes("Z-extras") && rootReg.test(p.file.name))
.sort(p => p.file.name);
const markdown = pages.map(page => {
const parts = page.file.name.split('.');
const indent = Math.max(parts[1]?.length - 1, 0);
return `${" ".repeat(indent)}- [[${page.file.name}|${page.file.name} ${page.title}]]`
}).join("\n");
dv.paragraph(markdown);
MOC 标签
包含 #ZK/MOC
标签的笔记
const pages = dv.pages('#ZK/MOC')
.where(p => !p.file.path.includes("Z-extras"))
.sort(p => p.file.name);
const markdown = pages.map(page => {
console.log('page', page);
return `- [[${page.file.name}|${page.title || page.file.name || ''}]]`
}).join("\n");
dv.paragraph(markdown);
全量笔记树(待废弃)
const pages = dv.pages('#ZK/MainCard')
.where(p => !p.file.path.includes("Z-extras"))
.sort(p => p.file.name);
const markdown = pages.map(page => {
const parts = page.file.name.split('.');
const indent = Math.max(parts[1]?.length - 1, 0);
return `${" ".repeat(indent)}- [[${page.file.name}|${page.file.name} ${page.title}]]`
}).join("\n");
dv.paragraph(markdown);