插件 API 支持通过块 ID 打开块属性面板 seehttps://github.com/siyuan-note/siyuan/issues/14276
数据库和图表关联脚本示例(async()=>{//关联的数据库块 id,这里的 id 根据需要改成自己的 constavBlockId='20240727220211-p1awn4b';//关联的图表块 id,这里的 id 根据需要改成自己的 constchartBlockId='20240805130000-vhz1aei';//自动刷新延迟,单位是毫秒,默认是 1 秒,0 则不自动刷新 constautoFreshDe
最近使用的语言置顶-智能版//功能:代码块最近使用的语言置顶(async()=>{//配置默认的代码语言,注意如果设置了这个参数,则会覆盖上一次使用的语言。始终默认用这个语言,为空不设置 constdefaultCodeLang="";//配置最近代码语言最大显示个数 constrecentlyCodeLangLength=10;//配置置顶的代码语言,这个配置里的语言始终置顶,比如["js","jav
最近使用的语言置顶//功能:代码块最近使用的语言置顶(async()=>{//配置默认的代码语言,注意如果设置了这个参数,则会覆盖上一次使用的语言。始终默认用这个语言,为空不设置 constdefaultCodeLang="";//配置最近代码语言最大显示个数 constrecentlyCodeLangLength=10;//配置置顶的代码语言,这个配置里的语言始终置顶,比如["js","java","
模拟 window.prompt 函数//功能:模拟 window.prompt 函数//使用示例/*showPrompt('请输入一些文本','',(answer)=>{console.log(` 你输入的内容是:${answer}`);},()=>{console.log('操作已取消');});*//*showPromptForm('请输入一些文本',`<inputtype="text"id="prom
自动定位当前文档所在目录//加载时是否自动定位当前文档 constautoFocusTreeOnload=true;//等待标签页容器渲染完成后开始监听 whenElementExist('.layout__center').then(asyncelement=>{//等待笔记列表加载完毕 awaitsleep(40);//监听页签切换事件 observeTabChanged(element,(tab)=>
链滴自动签到 puppeteer 脚本//用户名和密码,必须 constusername="";constpassword="";//设置浏览器安装路径,必须,如果填空,则使用 puppeteer 模式而不是 puppeteer-core//Windows 用户可能是"C:\\ProgramFiles\\Google\\Chrome\\Application\\chrome.exe",注意这里的路径要用\转义 co
链滴自动签到 puppeteer 脚本//用户名和密码,必须 constusername="";constpassword="";//设置浏览器安装路径,必须,如果填空,则使用 puppeteer 模式而不是 puppeteer-core//Windows 用户可能是"C:\\ProgramFiles\\Google\\Chrome\\Application\\chrome.exe",注意这里的路径要用\转义 co
脚本
表格模拟无序列表和任务列表 132 测试哈哈测试 1 测试 2✅ 已完成 ⬜ 待完成 ⬜ 待完成 ✅ 已完成 ▪️ 第一项 ▪️ 第二项 🔸 嵌套项 1🔸 嵌套项 2▪️ 第三项 seehttps://ld246.com/article/1724822503853/comment/1724826919618?r=wilsons#comments
调用外部编辑器编辑图片 seehttps://ld246.com/article/1733636224439//思源 alt+ 单击图片打开本地图片编辑器//特色:打开编辑器后会等待编辑器的关闭,关闭后自动刷新思源文档//仅支持 electron 端,及 Windows 和 Mac 系统//windows 调用画图,Mac 调用预览//seehttps://ld246.com/article/1733636224439(
思源编辑器光标被移动事件 document.addEventListener("selectionchange",()=>{console.log('光标被移动位置');},false);
拦截 fetch 并添加头信息 asyncfunctionmyFetch(){constoriginalFetch=window.fetch;window.fetch=asyncfunction(url,...args){try{letconfig={};if(args.length>0&&typeofargs[0]==='object'){config=args[0];}//创建 Headers 对象以确保
提供重建单个文档索引的 APIseehttps://github.com/siyuan-note/siyuan/issues/5719 这个接口暂时不加入 API 文档中;使用方式如下:POSThttp://127.0.0.1:6806/api/filetree/reindexTree{"path":"/data/20210808180117-czj9bvb/20200812220555-lj3enxa.s
插入音频块示例//audioURLvaraudioSrc="";//父 id 或文档 id,必填 varparentID="20240912201455-z7c6sgc";//插入到哪个块下面,为空插入到第一行 varpreviousID="20240919194802-ig3zntk";//生成块 idvarnewNodeId=Lute.NewNodeID();//生成更新时间 varupdated=forma
检查代码片段是否有更新方案如果需要执行多个网络请求来判断插件列表是否有更新,选择合适的方案取决于以下几个因素:任务的性质:网络请求是 I/O 密集型任务,通常不会占用大量 CPU 资源。任务的依赖关系:是否需要等待所有请求完成后再处理结果。性能和资源需求:是否需要并发执行多个请求以提高效率。以下是几种适合处理网络请求的方案:1.Promise.all适用场景:需要并发执行多个网络请求,且任务之间没有依
模拟按键 functionpressKeyboard(keyInit,element){element=element||document.querySelector('[data-type="wnd"].layout__wnd--active.protyle:not(.fn__none).protyle-wysiwyg.protyle-wysiwyg--attr');keyInit["bubbles
模板大全进度条模板.action{$a:=index."进度"}.action{$d:=float64$a}<spanstyle="background-color:rgba(175,184,193,0.2);width:100%;display:inline-block;height:12px;border-radius:6px;align-self:center;overflow:hidden;
生成 uuidconstgenUUID=()=>([1e7].toString()+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(c)=>(parseInt(c,10)^(window.crypto.getRandomValues(newUint32Array(1))[0]&(15>>(parseInt(c,10)/4)))).toString(16));
生成块 IDLute.NewNodeID()