【已解决】anyblock 插件生成的块能否用 dataviewjs 查询

我想用dataviewjs查询anyblock生成的块,但查询结果只是生成了内容,anyblock没有渲染。
这是查询结果

这是查询代码

const term = "[list2tab]"; let folderpath = "01"; // 更改为限定文件夹即可,留空为遍历所有笔记 const files = app.vault.getMarkdownFiles().filter(file => file.path.includes(folderpath)); ​ ​   const arr = files.map(async (file) => { ​     const content = await app.vault.cachedRead(file); ​     const lines = content.split("\n"); ​     let results = []; ​      ​ ​   lines.forEach((line, index) => { ​      ​      ​ ​   if (line.includes(term)) { ​      ​      ​      let section = [line]; ​      ​      ​      ​ ​   for (let i = index + 1; i < lines.length; i++) { ​      ​      ​      ​      if (lines[i].trim() === "") break; ​      ​      ​      ​      section.push(lines[i]); ​      ​      ​      } ​      ​      ​      results.push(section.join("\n")); ​      ​      } ​     }); ​     return results; }); ​ ​   Promise.all(arr).then(values => { ​     values.flat().forEach(value => dv.paragraph(value)); // 使用 dv.paragraph 输出原始文本 });

大佬们有办法解决吗

const term = "[list2tab]";
let folderpath = "01"; // 更改为限定文件夹即可,留空为遍历所有笔记
const files = app.vault.getMarkdownFiles().filter(file => file.path.includes(folderpath));
const arr = files.map(async (file) => {
    const content = await app.vault.cachedRead(file);
    const lines = content.split("\n");
    let results = [];
    lines.forEach((line, index) => {
        if (line.includes(term)) {
            let section = [line];
            for (let i = index + 1; i < lines.length; i++) {
                if (lines[i].trim() === "") break;
                section.push(lines[i]);
            }
            results.push(section.join("\n"));
        }
    });
    return results;
});
Promise.all(arr).then(values => {
    values.flat().forEach(value => dv.paragraph(value)); // 使用 dv.paragraph 输出原始文本
});

这是原笔记渲染的样子

1 个赞

解决办法呢见这里【开源,插件更新】列表转表格、树目录、思维导图、时间线、表格合并 —— Any Block V3(Ob/Md-it/VuePress/VitePress通用) - #120,来自 LincZero

1 个赞