插件开发 0 篇文章

监控元素出现

functionobserveElementExist(selector,callback){consthandleMutations=(mutationsList,observer)=>{for(letmutationofmutationsList){if(mutation.type==='childList'){mutation.addedNodes.forEach(node=>{if(node

块自定义元素和属性

seehttps://github.com/siyuan-note/siyuan/issues/12684seehttps://github.com/88250/lute/issues/206seehttps://github.com/88250/lute/blob/3fb25e60dad57f08b1637539a0fcdf03c366abdb/protyle.go#L693 关联:行内自定义元素和

插入音频块示例

//audioURLvaraudioSrc="";//父 id 或文档 id,必填 varparentID="20240912201455-z7c6sgc";//插入到哪个块下面,为空插入到第一行 varpreviousID="20240919194802-ig3zntk";//生成块 idvarnewNodeId=Lute.NewNodeID();//生成更新时间 varupdated=formatDateTi

获取选中文字所在的元素?如果跨多个元素呢?

在 JavaScript 中获取选中文字所在的元素可以通过 window.getSelection()​方法来实现。此方法返回一个 Selection​对象,该对象提供了有关当前文档中选定文本的信息。如果选中的文本跨越了多个元素,可以通过 Selection​对象的 getRangeAt()​方法来获取选定范围的信息。getRangeAt()​方法返回一个 Range​对象,该对象描述了选定文本的范围。下面是一个

获取选中文本

获取选中文本可以通过 JavaScript 的 window.getSelection()​方法来实现。这个方法返回一个 Selection​对象,它包含了当前文档中选定的文本信息。你可以从这个对象中获取选定的范围,并从中提取出选定的文本。下面是一个简单的示例,展示了如何获取用户选定的文本,并将其输出到控制台或页面上的某个元素中:HTML 示例代码 <!DOCTYPEhtml><htmllang="en"><h

对选中的文字添加颜色

要在 JavaScript 中对选中的文本添加颜色,可以通过监听用户的文本选择事件,然后修改选定文本所在的元素的样式来实现。这里有一个基本的示例,演示如何在用户选定文本后为其添加颜色。首先,我们需要监听 mouseup​事件,因为这是用户完成文本选择的一个标志。然后,我们可以获取当前文档中的选定范围,并应用相应的样式。以下是一个简单的例子:<!DOCTYPEhtml><htmllang="en"><hea

获取光标所在元素

又名获取鼠标所在元素 functiongetCursorElement(){constselection=window.getSelection();if(selection.rangeCount>0){constrange=selection.getRangeAt(0);//获取选择范围的起始位置所在的节点 conststartContainer=range.startContainer;//如果起始

获取当前文档对象

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

生成 uuid

constgenUUID=()=>([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));改成函数 function

请求 api

functionfetchGet(url,callback){fetch(url).then((response)=>{if(response.headers.get("content-type")?.indexOf("application/json")>-1){returnresponse.json();}else{returnresponse.text();}}).then((response

思源后端 API 文档

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