删除笔记中的空白行

在逛插件库的时候发现JavaScript Init 这个插件,只有简短的一行说明:Run JavaScript when Obsidian loads, or any other time.但满足了对简单自定义的需求。

通过剪藏插件保存到Obsidian的文章存在大量空白行,逐行逐行的删除很是麻烦,看了下笔记源码,发现存在大量的
标签,想要做到自动删除空白行就简单了,只需在上述插件中放入以下代码:
var list = document.getElementsByClassName('cm-line'); Object.keys(list).map((key)=>{ if(list[key]&&list[key].firstChild.tagName==='BR'){ list[key].parentNode.removeChild(list[key]) } })
使用的时候只需要在侧边栏点击JavaScript Init插件图标即可
虽然不能一次性删除所有空行,但也解放了生产力。

2 个赞

论坛里有帖子介绍过,可以搜一下。我自己之前用过 file cleaner

1 个赞

不行呀,这是清理文件的插件

这样会误删代码块和代码块之间的空行。

可以插入下面的代码:
{
// 代码块开始
const blockStartList = document.querySelectorAll(‘.HyperMD-codeblock.HyperMD-codeblock-begin’);
const unnessaseryBrList = [];
// 收集需要删除的节点
blockStartList.forEach((node)=>{
let brother = node.nextSibling;
while(brother && ![…brother.classList].includes(‘HyperMD-codeblock-end’)) {// 代码块结束
if(brother.firstChild && brother.firstChild.tagName===‘BR’) unnessaseryBrList.push(brother);
brother = brother.nextSibling;
}
});
// 执行删除
unnessaseryBrList.forEach((node)=>node.parentNode.removeChild(node));
}

2 个赞

插件:增强编辑,选中需要删除段落,

是 cMenu还是增强编辑插件,我没看明白您说的是哪个插件?

obsidian插件:增强编辑

好用,很棒,感谢。