遇到的问题
希望能够在笔记中展示当前笔记中所有高亮的内容,即被==
包裹的内容。希望是能够像dataview查询一样动态获取并展示的,最好还能点击跳转到高亮的地方。
目前已知的有Extract highlight插件能够获取当前文件中所有高亮的地方并放到剪切板中,但这不是动态查询实时更新的,而且也没法跳转。
我在想dataview js能不能实现这个需求,但我不懂 JS,希望有大佬能解答一下~
希望能够在笔记中展示当前笔记中所有高亮的内容,即被==
包裹的内容。希望是能够像dataview查询一样动态获取并展示的,最好还能点击跳转到高亮的地方。
目前已知的有Extract highlight插件能够获取当前文件中所有高亮的地方并放到剪切板中,但这不是动态查询实时更新的,而且也没法跳转。
我在想dataview js能不能实现这个需求,但我不懂 JS,希望有大佬能解答一下~
谢谢推荐!
我还在用没入门的正则来筛选。。(={2}.*?={2})
谢谢,很好的想法,我试一下
【已解决】
```query
/==.*?==/
```
这样会查询出整个库的高亮 我希望只查看当前文件的高亮。
谢谢啦 ,我已经有解决方案了
老哥,粗体呢怎么实现,=改*错的,不会了
同样的方法让chatgpt写了一个js用于筛选粗体部分,代码如下
// 定义一个函数,接受一个markdown字符串作为参数
function extractBold(markdown) {
// 定义一个空数组,用来存放粗体部分
let bolds = [];
// 定义一个正则表达式,匹配被 ** 包裹的部分
let regex = /\*\*(.+?)\*\*/g;
// 定义一个变量,用来存放正则表达式的匹配结果
let match;
// 使用循环,遍历所有的匹配结果
while (match = regex.exec(markdown)) {
// 把匹配结果中的第一个捕获组(也就是粗体部分)添加到数组中
bolds.push(match[1]);
}
// 返回数组
return bolds.filter(p => p.trim() !== '');
}
// 在一个列表中显示粗体部分
dv.list(extractBold(await app.vault.readRaw(dv.current().file.path)));
自测可用