2025 年 05 月 0 篇文章

工具即工具,不神化也不贬低 —— 一个使用者的理性思考

最近看到一则关于工具体验的讨论,虽然不完全与原帖相关,但我想借这个机会,谈谈我对工具的一些看法和使用哲学。一、工具就是工具,关键在于人我一直认为:工具本身就是中立的,它就在那里,不增不减。你觉得一个工具“顺手”或“难用”,其实更多取决于你自己是否熟悉、是否懂得如何使用它。正如同样是 DeepSeek,有人觉得它惊艳,有人却觉得不过如此。原因不在工具,而在使用者。以 DeepSeek 为例,在它出现之前,我

如何将外部 CSS 样式应用到 Shadow DOM 元素内部

外部的 CSS 不能直接应用到 ShadowDOM 内部的元素。ShadowDOM 是 WebComponents 技术的一部分,它的设计目的之一就是提供样式封装(styleencapsulation),这意味着:外部页面的 CSS 不会影响 ShadowDOM 内部的样式。ShadowDOM 内部定义的样式不会“泄露”到外部页面中。示例说明假设你有一个自定义元素 <my-element>​,它内部有 ShadowDOM:<m

实时获取光标位置优化思路

真正能在滚动时拿到光标“位置更新”同时又最轻量的做法,其实是不每次都去测 Selection→getClientRects()或插入 marker,而是直接把上一次的坐标做“增量”调整。核心思路:基于滚动偏移的增量更新缓存上一次的绝对坐标 letlastPos={x:/*上次 computedx*/,y:/*上次 computedy*/};letlastScroll=newMap();//key:scroll

实时获取光标位置

//创建全局唯一 markerconstglobalMarker=(()=>{constmarker=document.createElement('span');marker.textContent='\u200b';marker.style.cssText='position:absolute;visibility:hidden;pointer-events:none;';returnmarker

css实现光标闪烁效果

要实现无过渡的硬切换闪烁效果,需要使用 steps()​时间函数。代码如下:#custom-cursor{animation:ablink1ssteps(1)infinite;/*关键修改在这里*/}@keyframesablink{0%{opacity:1;}50%{opacity:0;}/*添加中间关键帧*/100%{opacity:1;}}原理说明:​steps(1)​表示把动画分成 1 个跳跃步骤

全屏菜单(Esc退出全屏)

seehttps://ld246.com/article/1746079460404//全屏菜单(Esc 退出全屏)//seehttps://ld246.com/article/1746079460404(()=>{//判断是否全屏状态 if(localStorage.getItem('isFullscreen')==='true'){constcomfirmHtml=`<divdata-key="di

添加文档或块到指定数据库(支持绑定块和不绑定块)

seehttps://ld246.com/article/1746153210116//添加块到指定数据库(支持绑定块和不绑定块,支持文档块和普通块)//seehttps://ld246.com/article/1746153210116//注意:只能在块菜单中操作(你的右键可能不是块菜单)//version0.0.3//0.0.2(已废弃)//0.0.3 修改参数配置方式(()=>{//块菜单配置 c

js代码片段自动更新协议1.0

js代码片段自动更新协议1.0
鉴于代码片段无法检查更新,写了个自动检查更新的代码片段。只要用户安装了该代码片段,且开发者代码片段中遵循以下协议即可。协议内容要让你的代码片段能自动检查更新,需遵循以下协议:代码片段的注释中必须有 name,version,updateUrl 三个标记比如//name 代码名称//version 版本号//updateUrl 更新地址//updateDesc 更新描述或/***name 代码名称*version 版

不用插件:绑定思源事件总线(eventBus)

简洁版(不推荐,有风险)优点:代码简洁。缺点:要求用户至少安装一个插件。⚠️ 风险警告:当用户关闭第一个插件时,之前的绑定会失效。functioneventBusOn(eventName,callback){constplugin=window.siyuan.ws.app.plugins[0];if(!plugin){console.log('绑定事件'+eventName+'失败,请至少安装一个插件

可通过 URL 关键词搜索的 ai

百度 deepseekhttps://chat.baidu.com/search?word=%s%ChatGPT(#AI#)|https://chatgpt.com/?q=%s% 文心一言(#AI#)|https://yiyan.baidu.com/?q=%s%Kimi(#AI#)|https://kimi.moonshot.cn/_prefill_chat?send_immediately=true&

读取关联数据表的数据并汇总

seehttps://ld246.com/article/1746316072165 需求:有两个数据表,A 为任务表,B 为工时记录表,A 中有一列为任务名称,B 关联 A 的任务名称。一个任务可能需要多次工作完成,每次工作都会在 B 中记录一次使用的工时。A 的任务表中有一列为总共花费的工时,会读取 B 中所有任务名相同的行,并将每行的工时汇总,写到 A 对应的总共花费的工时中。请问这样的模板列该怎么实现呢?我不知道如何从

文档整体往左缩进

/*通过给 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%

通过数据库块ID获取数据库ID

方法一、通过数据库里的 html 代码获取//通过块 id 获取数据库 idasyncfunctiongetAvIdByAvBlockId(blockId){constav=awaitgetAvBySql(`SELECT*FROMblockswheretype='av'andid='${blockId}'`);if(av.length===0)returnerror("未找到数据库文档块,请检查数据库文档块 i

代码片段自动更新checkNewVersion

代码片段自动更新checkNewVersion
鉴于代码片段无法检查更新,写了个自动更新的函数,只要在代码加载时调用 checkNewVersion();​即可。格式内容使用这个函数需遵循以下格式即可。代码片段的注释中必须有 name,version,updateUrl 三个标记比如//name 代码名称//version 版本号//updateUrl 更新地址//updateDesc 更新描述或/***name 代码名称*version 版本号*updateUr

如何通过使用CSS或JavaScript的xlink:href属性选择元素?

*如何通过使用 CSS 的 xlink:href 属性选择 XML 元素?-腾讯云开发者社区-腾讯云*[https://cloud.tencent.com/developer/ask/sof/110624837](https://cloud.tencent.com/developer/ask/sof/110624837)*有人知道如何使用 xlink:href 属性选择 XML 元素吗?有关使用情况,请参见,但是它并不

css居中居左居右

在 CSS 中,margin:0auto;​是通过设置左右外边距为 auto​来实现块级元素的水平居中。如果你需要实现居左或居右的效果,可以通过以下方式实现:1.居左默认情况下,块级元素(如 div​)会自动靠左对齐。如果需要显式设置,可以使用以下方法:方法 1:直接设置 margin-left​为 0​div{margin-left:0;/*左边距为 0*/}方法 2:使用 float​(浮动)div{float:l

body .card-main .toolbar和 body .toolbar 如果这两个选择符都能唯一确定toolbar元素,哪些性能更高?是选择符越多,越精确性能越高吗

在 CSS 中,选择器的性能与其复杂性和匹配方式有关。你提到的 body.card-main.toolbar 和 body.toolbar 都可以唯一确定.toolbar 元素,但它们的性能表现有所不同。以下是详细分析:1.选择器的匹配过程 CSS 选择器的匹配是从右到左进行的。浏览器会先找到匹配最右侧选择器的元素,然后再检查其祖先元素是否满足左侧的选择器条件。body.toolbar:找到所有.toolbar 元素。