思源笔记 0 篇文章

SQL 大全

查询某一个子文档下面不含标签的文档 seehttps://ld246.com/article/1723590423117SELECT*FROMblockswheretype='d'andpathlike'%20240725203634-j3t72jv/%'andtag=''andidnotin(SELECTroot_idFROMblockswheretype<>'d'andpathlike'%2024

判断是否空文档的方法

/api/block/getTreeStat 传入文档 id 即可,返回值有个字段 runeCount​代表字符个数的意思 0 是空文档,大于 0 非空文档缺点:由于 api 一次性读入 sy 文件到内存,文件大的话有性能瓶颈通过/api/filetree/getDoc 获取文档的内容,由于这个 api 是动态加载,一般不会加载太多内容,然后空文档的时候,这个返回结果的 content 字段长度是 239,可以依据这长度判断,比如大于

获取当前文档对象

获取当前文档对象//pcsiyuan.layout.centerLayout.children.map(item=>item.children.find(item=>item.headElement?.classList.contains('item--focus')&&(item.panelElement.closest('.layout__wnd--active')||item.panelEle

删除菜单的方法

​window.siyuan.menus.menu.remove();​​document.body.click();​constmenuItems=document.querySelector('#commonMenu.b3-menu__items');if(menuItems)menuItems.innerHTML='';‍

设置默认打开页面

see 最简单的方式,把这个代码放到 js 代码片段中//默认打开的文档 idvardocId='20250119002432-3oyyqp4';setTimeout(()=>window.open('siyuan://blocks/'+docId),1500);最好把它钉住,然后放到最左侧,然后设置一个 home 的图标,完美!如果默认打开今日日记,可以用下面的代码//在这里输入你想在哪个笔记本中打开今日日记

思源代码块自动缩进

思源代码块自动缩进
seehttps://ld246.com/article/1745642027248 最近在 runjs 里写代码,发现代码块不支持自动缩进,很不方便。于是,让 deepseek 帮忙写了个。支持大多数常见语言,如果有未识别的语言,则与上一行的空白符位置对齐。代码//思源代码块自动缩进//seehttps://ld246.com/article/1745642027248//version0.0.2//0.0

原生 js 实现思源 Dialog 对话框

/*options={...options,showAction?:boolean,//当点击确定后不想关闭对话框时,可设置为 options.disableClose=true;即可 confirmCallback?:(options?:IObject)=>void}*///创建基础对话框,createDialog 基础上增加 content 容器和确定与取消按钮//当点击确定后不想关闭对话框时,可设置为 o

文档整体往左缩进

/*通过给 ul 背景色添加固定宽度实现*//*背景线适配需配合下面的 js 代码实现*//*https://ld246.com/article/1724305128590#%E5%B7%A6%E4%BE%A7%E6%96%87%E6%A1%A3%E6%A0%91%E6%98%BE%E7%A4%BA%E5%B1%82%E7%BA%A7%E5%85%B3%E7%B3%BB%E8%83%8C%E6%99%AF%

给页面临时设置宽屏

seehttps://ld246.com/article/1746079460404//给页面临时设置宽屏(暂不支持持久,即文档关闭或页面刷新后复原)//兼容编辑器宽度插件和思源自适应宽度,兼容标题宽度//seehttps://ld246.com/article/1746079460404//修改改自 https://ld246.com/article/1744597829665(()=>{//是否隐