-
HTML 块脚本可以调用 JS 片段中的函数吗
2025-05-31 23:21大佬,再问一个问题,思源可以保存 html 块的内容吗?如果可以,应该怎么写相关代码。现在的功能虽然实现了,但是样式不太好看,如果能把时间相关的信息也保存到 html 块中,样式可以更方便调整。但是我现在如果把时间相关信息也保存到 html 块,页面一旦重新加载,所有的时间信息也被重置了
-
HTML 块脚本可以调用 JS 片段中的函数吗
2025-05-30 12:17大佬,很感谢。我把你改好的代码贴到片段中了,开始,停止,本次时长都没有问题,只有累计时长计算不出来,如图

这部分对应的 JS 如下,我增加了 debug 输出
const listRoot = host?.closest('[data-type="NodeList"]'); console.log("准备计算总计时"); listRoot.querySelectorAll('.current-duration').forEach(span => { console.log(span); total += parseFloat(span.textContent || '0'); }); console.log("计算总计时完毕");我怀疑是
listRoot.querySelectorAll('.current-duration')没有取到元素,因为 debug 只打印了准备计算总计时和计算总计时完毕这两句,没有打印出循环的span元素的内容。这句代码
listRoot.querySelectorAll('.current-duration')看起来没问题,也没有拼写错误,是不是因为元素<span class="current-duration">0.0</span>是在 shadow 内部,所以才取不到?关于 shadow 这部分,我完全不了解,这个计时器代码也是我通过 chatgpt 帮助生成的,所以后续也不知道该怎么修改,希望大佬再帮帮我
大佬,我还发现一个问题,如果把开始时间,停止时间,本次计时,和总计时都写在 html 块中,会有问题,一旦页面刷新,这些数据都会重置了。我新的想法是把开始时间,停止时间,本次计时,和总计时写在新的列表项中,这需要动态增加一个列表项。
我让 chatgpt 帮我写的代码如下,想要实现动态添加,但是没有思源块的 data-node-id 之类的信息,我不知道该怎么动态新增一个列表项。
function handleStart(button) { const timerLi = button.closest('.li'); let infoLi = timerLi.nextElementSibling; // 若无 infoLi 或 infoLi 内无 scoped-timer-data,则创建 if (!infoLi || !infoLi.querySelector('.scoped-timer-data')) { infoLi = document.createElement('div'); infoLi.className = 'li'; infoLi.innerHTML = ` <div class="protyle-action" draggable="true"> <svg><use xlink:href="#iconDot"></use></svg> </div> <div class="p" data-type="NodeParagraph"> <div contenteditable="true" spellcheck="false"> <div class="scoped-timer-data"> <div class="row"> <div>开始时间:<span class="start-time">--</span></div> <div>停止时间:<span class="stop-time">--</span></div> </div> <div class="row"> <div>本次时长(分钟):<span class="current-duration">0.00</span></div> <div>累计时长(分钟):<span class="total-duration">0.00</span></div> </div> </div> </div> </div>`; timerLi.parentElement.insertBefore(infoLi, timerLi.nextSibling); } //...其他省略 -
基于 chart 图表进行数据库条目信息可视化统计的分享
2025-05-05 11:28很方便的功能,我正需要从数据库中取出数据可视化。想问下,看视频中,两个 JS 文件是单独写成文档的形式,并且还有代码行号,高亮,代码缩略图。但是我直接在思源中保存帖子中的两个 JS 文件,是没有代码高亮,行号这些的,想问下,是要装什么插件才可以吗?
-
数据库模板列读取关联数据表的数据并汇总
2025-05-04 20:36嗯,今天花了好多时间,发现搞不了,不过用你的方法也算实现我要的功能了。现在打算把任务管理和文档全放在思源里了,希望思源以后数据库功能能更加强大
-
数据库模板列读取关联数据表的数据并汇总
2025-05-04 18:06谢谢,我试了试可以的。需要把 A 和 B 两个表设为双向关联,再在 A 表中汇总。
因为我之前是在飞书做的多维表格,飞书中的公式列是可以访问被关联的其他表的数据行,现在想都迁到思源中,但是思源中,我看了好几篇关于模板列的帖子,发现思源中没办法做到这点。思源中是不是没办法通过查询 sql 的方式来查询数据库表格的内容?
-
任务管理数据库模版分享
2025-05-04 11:28大大,想问下怎么把思源模板的语法喂给 ai,是直接把 F 佬的帖子上传给 AI 吗,但是我用网页 DeepSeek,联网搜索的时候不能上传帖子,该怎么操作?我想在就是有些模板写不来
-
SQL 小助手
2025-04-29 21:15大佬,想问下,这个 system prompt 中哪里设置,我想用 DeepSeek 来查,需要手动复制这个 prompt 到 DeepSeek 的对话框中吗?没找到设置的地方
-
可以提高代码块高亮的解析精度吗
2025-04-24 18:23对了,的确 ob 还有编辑模式和阅读模式的不同,我基本一直都是用的编辑模式,帖子里的图片也是编辑模式下截图的。阅读模式下的确解析的不同。
-
可以提高代码块高亮的解析精度吗
2025-04-24 18:20(ctrl+shift+I)源代码调试下,看下对应代码块是否解析成了不同 class 的 span,像我上面的截图:
- 如果是不同 class,那好办,你可以自己添加对应的 css 样式代码来高亮不同的 class。因为有些代码高亮 theme,不同 class 都是相同的颜色,我自己的思源里也加了不少 css 样式代码来调整。
- 如果没有解析出来,直接当成了字符串,那就没办法了。
-
可以提高代码块高亮的解析精度吗
2025-04-24 18:15两个方面的事情,我个人理解是
- 首先是解析代码高亮的 js,把代码解析成不同的类型的 span
- 然后高亮插件是根据解析出来的 span,来高亮对应的代码。
我的 ob 装了好多乱七八糟的插件,所以可能高亮出来的代码样式和你的不同。
但我也不是很确定,ob 的代码高亮插件是否有解析的作用,为了确认,你可以调试下 ob 页面的源代码页面(ctrl+shift+I 打开开发者工具),如我上面的截图,重点看下解析出来的代码的 css class 是不是和我截图出来的一样。
