yifoo
(靖风行)
1
在逛插件库的时候发现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 个赞
这样会误删代码块和代码块之间的空行。
可以插入下面的代码:
{
// 代码块开始
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 个赞
yifoo
(靖风行)
8
是 cMenu还是增强编辑插件,我没看明白您说的是哪个插件?