思源笔记
0 篇文章
Sprig 模板全局变量示例 seehttps://ld246.com/article/1733921523331.action{$total:=0}.action{$id:=.id}.action{$blocks:=queryBlocks"select*fromblockswhereroot_id='?'andid!='?'"$id$id}.action{range$v:=$blocks}.actio
css 图片颜色反转 filter:invert(100%);
css 大全 css 选择 xlink:href 属性 seehttps://ld246.com/article/1734427196426@namespacexlink'http://www.w3.org/1999/xlink';.protyle-breadcrumb__item:has(use[xlink|href*=iconListItem]).protyle-breadcrumb__text{displ
js 获取鼠标所在元素要确定鼠标当前位于哪个元素内,JavaScript 提供了几种方法。你可以通过监听 mousemove事件并在事件处理函数中检查 event.target来得知鼠标所在的元素。此外,还可以使用 document.elementFromPoint方法来查找特定坐标下的最顶层元素。以下是两种常见的实现方式:使用 mousemove事件你可以为整个文档或某个容器添加一个 mousemove
修改新窗口大小 seehttps://github.com/siyuan-note/siyuan/blob/914c7659388e645395e70224f0d831950275eb05/app/src/window/openNewWindow.ts#L21seehttps://gitee.com/wish163/mysoft/blob/main/%E6%80%9D%E6%BA%90/%E6%80%
创建指定日期的日记 seehttps://ld246.com/article/1741777522652 参考这个:https://github.com/frostime/siyuan-plugin-kits/blob/667c2621ebc6fa11028e4e53e447afc5f00639ea/src/dailynote.ts#L72 不想自己实现也可以手动安装 npminstall@frostime
创建超级块//layout 的值"col"|"row"//id 块 id 或自动生成//attrHTML 块 domfunctiongenSBElement(layout,id,attrHTML){constsbElement=document.createElement("div");sbElement.setAttribute("data-node-id",id||Lute.NewNodeID());sbE
判断是否空文档的方法/api/block/getTreeStat 传入文档 id 即可,返回值有个字段 runeCount代表字符个数的意思 0 是空文档,大于 0 非空文档缺点:由于 api 一次性读入 sy 文件到内存,文件大的话有性能瓶颈通过/api/filetree/getDoc 获取文档的内容,由于这个 api 是动态加载,一般不会加载太多内容,然后空文档的时候,这个返回结果的 content 字段长度是 239,可以依据
刷新块或更新块 functionupdateBlock(node){awaitfetchSyncPost('/api/block/updateBlock',{"dataType":"dom","data":node.outerHTML,"id":node.dataset.nodeId})}
刷新数据库 api/api/sqlite/flushTransactionseehttps://ld246.com/article/1733634555319#%E8%83%BD%E4%B8%8D%E8%83%BD%E7%A7%BB%E5%8A%A8%E5%90%8E%E5%8D%B3%E6%97%B6%E5%88%B7%E6%96%B0sqlite%E6%95%B0%E6%8D%AE%E5%BA%
动态加载代码片段 seehttps://ld246.com/article/1736035967300/comment/1736126600837?r=wilsons#comments 如果是代码片段,可以动态加载 js,然后,用 vscode 编辑 js 文件就可以了比如代码片段输入{//动态加载 jsconstsrc='/snippets/query.js';constscript=document.creat
发送消息 showMessage 自定义窗口内容//发送通知 showMessage(` 模板导出成功 <br/> 路径:${templatesPath.replace(/\/+$/,'')}`);if(isPc()){constmsgContent=awaitwhenElementExist("#message.b3-snackbar__content");constbr=document.createEle
启动时最小化到托盘 seehttps://ld246.com/article/1734430072051//启动时最小化到托盘//seehttps://github.com/siyuan-note/siyuan/blob/5129ad926a21176a352cf5f630e0651011bf9c83/app/src/boot/onGetConfig.ts#L115if(!localStorage.g
在数据库中实现 js 与 Sprig 模板的交互
在数据库中实现 js 与 Sprig 模板的交互 seehttps://ld246.com/article/1734002304855 在数据库模板中可以利用 img 标签实现 js 与 Sprig 模板的交互,利用 js 来处理数据,就更方便了。比如:.action{$blocks:=queryBlocks"select*fromblockslimit1"}<span><imgsrc=""data-result='.acti
块自定义元素和属性 seehttps://github.com/siyuan-note/siyuan/issues/12684seehttps://github.com/88250/lute/issues/206seehttps://github.com/88250/lute/blob/3fb25e60dad57f08b1637539a0fcdf03c366abdb/protyle.go#L693 关联
如何读取 S3 加密数据 https://github.com/siyuan-note/oceanpress/tree/main/apps/frontend/src/websiteseehttps://ld246.com/article/1734924497915oceanpress-apps-frontend-src.zip
对选中的文字添加颜色要在 JavaScript 中对选中的文本添加颜色,可以通过监听用户的文本选择事件,然后修改选定文本所在的元素的样式来实现。这里有一个基本的示例,演示如何在用户选定文本后为其添加颜色。首先,我们需要监听 mouseup事件,因为这是用户完成文本选择的一个标志。然后,我们可以获取当前文档中的选定范围,并应用相应的样式。以下是一个简单的例子:<!DOCTYPEhtml><htmllang
常用 css 给 emoji 修改颜色.emoji{color:transparent;text-shadow:000#f2b05d;}给目录树排序.sy__fileul{display:flex;flex-direction:column;}/*带排序的 li 添加 order*/li{order:-1;}
常用判断函数 functionisTouchDevice(){return("ontouchstart"inwindow)&&navigator.maxTouchPoints>1;}functionisMobile(){return!!document.getElementById("sidebar");}functionisElectron(){returnnavigator.userAgent.i
思源事件原理
思源事件原理思源把插件名称生成注释 dom 结点,然后把相关事件绑定其上,在需要触发的地方通过遍历所有插件,调用 emit 进行触发。seehttps://github.com/siyuan-note/siyuan/blob/0b0c27b0bad3e2a073f61ed28c6ce76d2f2b4b07/app/src/plugin/EventBus.ts#L7 示例:seehttps://ld246.co
记录精彩的程序人生
开始使用
分类
标签