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);