能不能用dataview提取所有文件中注释的内容“「%%XX%%」”并汇总

能不能用dataview提取所有文件中的「%%XX%%」和「XX」的「XX」内容并汇总

论坛里其实有不少资料, 比如 DataviewJS 的提取与汇总 - 经验分享

基本原理就是先拿到所需要的笔记; 挨个读笔记正文; 提取正文里关心的内容; 输出


%%XX%% 注释也是类似的道理, 大致形如

// 获取所有文件
// 建议一上来不要选内容量很大的目录
const pages = dv.pages(`"笔记的目录/子目录"`);

// 用于存储提取的内容
const extractedContent = [];

// 遍历每个文件
for (const page of pages) {
    const file = app.vault.getAbstractFileByPath(page.file.path);
    const contents = await dv.io.load(page.file.path);

    // 正则表达式匹配 %%XX%% 
    const regex = /%%(.+?)%%/g;
    let match;

    // 提取匹配的内容
    while ((match = regex.exec(contents)) !== null) {
    
        const content = match[1];
        if (content) {
            extractedContent.push({
                file: page.file.link,
                content: `\\%% ${content.trim()} \\%%`
            });
        }
    }
}

// 显示提取的内容
dv.table(["File", "Content"], extractedContent.map(item => [item.file, item.content]));

收到,非常感谢 :pray: