思源笔记 0 篇文章

思源后端 API 文档

思源后端 API 文档 https://github.com/siyuan-note/siyuan/blob/master/kernel/api/router.goEnglish 规范参数和返回值鉴权笔记本列出笔记本打开笔记本关闭笔记本重命名笔记本创建笔记本删除笔记本获取笔记本配置保存笔记本配置文档通过 Markdown 创建文档重命名文档删除文档移动文档根据路径获取人类可读路径根据 ID 获取人类可读路径根据人类

思源新窗口打开源码

思源新窗口打开源码 seehttps://github.com/siyuan-note/siyuan/blob/2d2420794c89a86e9cbbddbd05fc5edf17c26a7b/app/src/window/openNewWindow.ts#L36‍

思源模板功能新人指南:模板语法 + 函数 + md 块语法

思源模板功能新人指南:模板语法 + 函数 + md 块语法
思源模板功能新人指南:模板语法 + 函数 +md 块语法推荐教程:思源模板功能新人指南:模板语法 + 函数 +md 块语法手把手数据库模板列简单使用指南快速预览 https://docs.siyuan-note.club/zh-Hans/reference/template/sprig/函数手册 https://docs.siyuan-note.club/zh-Hans/reference/template/siyua

思源笔记丨目前我用过的数据库 API 整理

思源笔记丨目前我用过的数据库 API 整理思源笔记丨目前我用过的数据库 API 整理-链滴 https://ld246.com/article/1733365731025#数据库设置属性-api-av-setAttributeViewBlockAttr 数据库添加非绑定的块和属性值/api/av/appendAttributeViewDetachedBlocksWithValueavID:数据库 id,非块 idb

拦截 fetch 并添加头信息

拦截 fetch 并添加头信息 asyncfunctionmyFetch(){constoriginalFetch=window.fetch;window.fetch=asyncfunction(url,...args){try{letconfig={};if(args.length>0&&typeofargs[0]==='object'){config=args[0];}//创建 Headers 对象以确保

提供重建单个文档索引的 API

提供重建单个文档索引的 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;

生成 uuid

生成 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));‍

生成文档树列表项

生成文档树列表项 seehttps://ld246.com/article/1741359650489pc 端//第一步调用 listDocsByPath 获取文档树文档信息//fetchSyncPost('/api/filetree/listDocsByPath',{notebook:'20240723175050-336994k',path:'/20240728220858-adaleye'})//第二

监听 websocket channel

监听 websocketchannel(()=>{//默认渠道名,可以根据需要修改 constchannel='siyuan-runjs';//创建 socket 客户端 createSocketClient(channel);//当收到消息时被调用 functiononReceivedMessage(event){letrequest=parseJson(event.data);letresult='';tr

监听全屏和退出全屏

监听全屏和退出全屏 seehttps://ld246.com/article/1731698559408 通过监听 window.siyuan.editorIsFullscreen 对象的变化实现//定义一个可观察的属性 window.siyuan._editorIsFullscreen=window.siyuan.editorIsFullscreen||false;Object.defineProperty

监听思源退出事件

监听思源退出事件 seehttps://ld246.com/article/1734263645595//调用示例,当 callback 返回 true 时退出,返回 false 时取消退出 functionsleep(ms){returnnewPromise(resolve=>setTimeout(resolve,ms));}listenExit(async()=>{console.log('waiting');

监听打开 URL 事件

监听打开 URL 事件 seehttps://github.com/siyuan-note/siyuan/blob/5129ad926a21176a352cf5f630e0651011bf9c83/app/src/boot/onGetConfig.ts#L167require('electron').ipcRenderer.on('siyuan-open-url',(event,url)=>{consol

监控元素出现

监控元素出现 functionobserveElementExist(selector,callback){consthandleMutations=(mutationsList,observer)=>{for(letmutationofmutationsList){if(mutation.type==='childList'){mutation.addedNodes.forEach(node=>{i