//使用时修改关键词即可
const term = "关键词"
const tag = "#tag"
const files = app.vault.getMarkdownFiles()
const taggedFiles = new Set(files.reduce((acc, file) => {
const tags = app.metadataCache.getFileCache(file).tags
if (tags) {
let filtered = tags.filter(t => t.tag === tag)
if (filtered) {
return [...acc, file]
}
}
return acc
}, []))
const arr = Array.from(taggedFiles).map(async(file) => {
const content = await app.vault.cachedRead(file)
const lines = content.split("\n").filter(line => line.contains(term))
return [file.name, lines]
})
Promise.all(arr).then(values =>
dv.list(values.flat()))
以上是缝合了论坛大佬、知乎等案例的结果,的确能够显示关键词所在行的信息,但条件必须是在关键词所在行的结果打上#关键词的标签,否则就显示查找无果,请问该如何调整?另外如果我希望显示的文件名,是一个链接形式,请问该如何调整,我尝试过将return [file.name, lines]改变为return [file.links, lines],结果连文件名也只显示“-”;真心求教各位大佬。