xqh042
关注
136905 号成员,2024-04-02 20:36:08 加入
748
个人主页 浏览
114
帖子 + 回帖 + 评论
44h57m
在线时长
  • 小萌新求助回顾往年今日

    2025-05-02 06:56

    貌似已经有插件支持了

    Clip20250502065531.png

  • 思源笔记文档格式在电脑上为何不以.md 为后缀?

    2025-04-27 16:52

    原因至少包括可能存储的文档内容不只 markdown

  • 如果学数学的话是用思源好还是 anki 好?或者想办法结合一下?

    2025-04-20 21:47

    如果你的卡片不频繁变动,可以思源写笔记之后复制链接到 anki 里。
    [js] 思源复制内容添加块链接 - 链滴

    对于通过双链以整合间隔重复碎片化这点,个人尝试过在数学应试执行一套按课本目录记录知识点、为知识点建立 MOC 和为例题绑定关联知识点,但效果嘛……肯定是没那么理想化的。或许对于简单应试来说,跟着老师课上观光打打卡,期末前几节课老实听多看着做两三遍题也够及格了。另外如果你说的工科笔记是计算机的话,建议谨慎投入精力到"笔记"上。

    很容易出现以为写下来就是记住了,结果回头一翻,忘了自己记过什么,又忘记自己记到哪了。临到实践了才知道自己其实没懂也没记住。

    Clip20250420213838.png

  • 如果让你推荐陌生人独自在无机自习室学习的书,你会推荐哪本,为什么?

    2025-04-02 16:06

    想了想,找了些像 DK 百科之类的童书doge

  • [js] 思源复制内容添加块链接

    2025-03-31 08:56

    在你回复的截图中,是我测试脚本时的截图,那时我应该没引入过会影响外观的主题和插件,如果你是指由上红框所框中的软件,那是单独的 Anki 软件而不是思源的插件或主题。

    如果你是说我文中的截图,应该是写味主题?

  • [js] 思源复制内容添加块链接

    2025-03-30 13:49

    抱歉,我没太理解行级显示是什么意思。如果说卡片模板样式的话,是知乎叶峻峣分享的 Anki 高考牌组模板。红框上的一排 UI 应该是 Anki 的默认按钮。

  • [js] 快捷键移动列表节点

    2025-03-23 16:28

    甚至还更弱了 😂 主打一个没仔细看设置乱折腾


    好吧,其实我还是搜了一下设置的,但是关键词(移动、块)都没命中,就以为没这功能了doge

  • 思源笔记列表使用指南

    2025-03-22 12:39

    我去,我喜欢大纲列表。

    doge 顺便分享一下之前简单的分析记录(唐突)

    免得内容太多影响观感,折叠一下
    * 8.30 - 09:30 大纲节点研究
    * 属性
      * id
      * 子节点列表
      * 父节点
        * 在父节点的子节点列表中的位置
    * [类似项目](https://github.com/mindkitMap/outlineEditor)
    * 行为条件
      * 内容是否为空
      * 是否有邻近节点(父节点、子节点、兄弟节点)
        * 邻近节点是否折叠、聚焦(聚焦状态下缩进独立于原先节点树,即无副作用)
    * 节点行为
      * 增删
        * 新建节点 Enter,将光标后内容移动到新建节点
        * 删除文本时若节点内容为空,删除节点
      * 缩进
        * 添加缩进 Tab,将当前节点层级加一
          * 节点的子节点层级最多为父节点+1,表现为父节点的第一个子节点无法继续添加缩进
        * 取消缩进 Shift + Tab,将当前节点层级减一
          * 幕布中,会将取消缩进的节点移到缩进后原父节点后
            * 当缩进节点位于父节点子列表非最后时,其会被移动到父节点后一位而不是截断位于其后的相邻节点以保留相对位置。
          * 思源中,会保留缩进节点的相对位置
            * 位于子节点列表时,将位于缩进节点其后的相邻节点从父节点的子节点列表中移动到自身的子节点列表
        * 操作缩进时会带着操作节点的所有子节点一同移动
      * 换序
        * 拖拽更改位置,选中块标或圆点,带着子节点一同移动
      * 折叠
        * 折叠/展开节点 Ctrl + ↑/↓
        * 前一个兄弟节点为折叠状态时,通过缩进将节点移入其子节点列表
          * 幕布中会展开折叠状态再移入子节点
          * 思源中可以在折叠状态下移入子节点
      * 聚焦
        * Alt + ←/→ 进入当前光标所在节点,或寻找父级节点返回
        * 单击节点圆点,进入聚焦
    * 编辑行为
      * 点击节点切换编辑状态
      * 换行后编辑状态和新建节点交换
      * 在节点内容边缘按下←/→和按下↑/↓一样和前后邻近节点交换编辑状态
    * 希望的扩展行为(类jetbrain idea快捷键)
      * 移动选中块 Alt + ↑/↓
      * 行内换行(在块后插入空块),使用 jb 中的Ctrl + Shift + Enter  替换思源中默认的 Ctrl + Shift +  A ,解决与自定义快捷键(滴答清单添加任务)冲突
    
  • 折腾了一下离线可用的本地大纲笔记软件 Obsidian

    2025-03-14 17:53

    好像没打洞成功而是 dns 中转,时延有点感人。(上面是 5m 带宽小服务器中转)

    PixPin20250314175209.png

  • 折腾了一下离线可用的本地大纲笔记软件 Obsidian

    2025-03-14 16:48

    谢谢,我去了解一下doge

  • 建议用用户帖子和用户帮助文档建立一个思源知识库 ai 用于社区自动回复

    2025-03-14 12:18

    额,成本核算是不是有点粗糙了,合规、技术、人力、维护都是成本。

    首先内容所有权,用户帖子内容一般是属于用户个人的,这有一个收集授权和讨论的环节。

    然后内容的整理、清洗、存储、向量化、测试搜索算法是一个隐形的巨大成本,这一块开发者的精力很可能难以专门分摊一块到这上面。

    接着服务维护上,个人使用场景都相对简单容易维护,但是面向规模化的社区。一般能做到用社区内容生成高频内容做一个静态索引查询(或者优化用户提问)就不错了(那为什么不让用户搜索呢),做成开放服务的话,规模效应下 token 使用量 很可能会滚雪球暴增,一个人看 1 块钱不是事,现在论坛有 200+ 在线用户,哪怕只有 1/4 在当天提问(算一次多轮对话提问 2-3w token),那就是一天一块钱。那首先先不说一个开放的服务是否可能一天只有 50 次会话,向量化存储与检索的算力开销、服务器成本也不是一次性的成本呀。

  • Cherry Studio 通过 MCP 对接思源笔记

    2025-03-14 11:01

    先填写 mcp-server-sqlite 拉取一遍服务器,再填写参数试试?或者更新最新版(貌似更新了一版修复了相关问题)

    我是先不填参数拉取,发现能拉取成功后再重新创建一个填写参数,就是 ds v3 这回答有点绷不住

    顺便建议如果内容太多,可以限制一下查询的时间

    PixPin20250314111623.png

  • 折腾了一下离线可用的本地大纲笔记软件 Obsidian

    2025-03-14 10:33

    啊,我好像没有使用到这三个嵌套的使用场景doge

  • 看见大家的回复

    2025-03-14 08:14

    个人省流,不代表题主想法:

    我希望有问题就有回应。

    我付费了,但我不知道开源不代表免费。

    再强调一遍,我觉得没有按照我的标准得到回应。

    我提问,回答。

    回答:

    我觉得模板可能要求比较高了,如果题主不介意打开插件功能,可以安装「插入时间」插件。

  • 折腾了一下离线可用的本地大纲笔记软件 Obsidian

    2025-03-14 07:18

    问题是校园网限制两台设备登录,其中两台 PC 还会互相顶号,平常多设备都是电脑插网线、一台手机放着当热点(

  • 折腾了一下离线可用的本地大纲笔记软件 Obsidian

    2025-03-13 22:11

    不同网段 + 动态 ip,不好访问吧,真要访问我直接联网 rdp 访问家里的设备了doge

    而且折腾离线可用除了享受推导重建笔记系统的折腾乐趣,隔离开原先的笔记也是一个目的,类似一个沙箱或者待整理记录区域的作用吧

  • Cherry Studio 通过 MCP 对接思源笔记

    2025-03-13 21:57

    感谢分享 💖,补充一下这两个环境依赖都可以通过 scoop 包管理器安装

    而且查看位置可以用 where 命令

    PixPin20250313215745.png

  • 轻薄本开荒配置记录

    2025-03-10 22:12

    忘贴原图了 😂

  • 思源笔记渐进阅读上手经验分享

    2025-03-09 21:56

    因为闪卡就是这么工作的,[…] 指代的就是挖空要记忆的部分。

    如果这不符合你想要的表现,你可以先描述一下你设想会是怎样的。

  • 锚文本链接为空时 tooltip 显示为 null 的问题

    2025-03-09 12:43

    用 ai 缝了个脚本移除 tooltip 的文本内容实现隐藏 null,作为一个临时方案凑合用(

    效果如图,移除了 null 文本和设置了高度避免被鼠标遮挡:

    PixPin20250309124306.png

    (function() {
      // 处理 tooltip 的函数
      function handleTooltip(tooltipElement) {
        if (!tooltipElement) return;
      
        // 检查 tooltip 是否包含 .fn__hr 元素
        const hrElement = tooltipElement.querySelector('.fn__hr');
        if (!hrElement) return;
      
        // 获取 .fn__hr 的前一个节点
        const previousNode = hrElement.previousSibling;
        if (!previousNode) return;
      
        // 如果前一个节点不是 span 元素(即为文本节点或其他非 span 元素)
        if (previousNode.nodeName !== 'SPAN') {
          // 清空 tooltip 的文本内容,保留 .fn__hr 后面的内容
          while (tooltipElement.firstChild && tooltipElement.firstChild !== hrElement) {
            tooltipElement.removeChild(tooltipElement.firstChild);
          }
        
          // 移除 .fn__hr 节点本身
          if (hrElement.parentNode === tooltipElement) {
            tooltipElement.removeChild(hrElement);
          }
        
          // 调整 tooltip 位置,向下偏移一些以避免被光标遮挡
          // 获取当前的 top 值
          const currentTop = parseInt(tooltipElement.style.top, 10) || 0;
          // 设置新的 top 值,向下偏移 15 像素(可根据需要调整)
          tooltipElement.style.top = (currentTop + 15) + 'px';
        }
      }
      
      // 使用 MutationObserver 监听 DOM 变化
      function observeTooltips() {
        const observer = new MutationObserver(mutations => {
          let tooltipFound = false;
          let tooltipElement = null;
        
          mutations.forEach(mutation => {
            // 检查添加的节点
            if (mutation.addedNodes.length) {
              // 遍历添加的节点
              mutation.addedNodes.forEach(node => {
                // 检查是否是 #tooltip 或者包含 #tooltip
                if (node.id === 'tooltip') {
                  tooltipFound = true;
                  tooltipElement = node;
                } else if (node.nodeType === 1) { // 元素节点
                  const tooltip = node.querySelector('#tooltip');
                  if (tooltip) {
                    tooltipFound = true;
                    tooltipElement = tooltip;
                  }
                }
              });
            }
          
            // 检查修改的节点
            if (mutation.target.id === 'tooltip') {
              tooltipFound = true;
              tooltipElement = mutation.target;
            } else {
              const tooltip = mutation.target.querySelector('#tooltip');
              if (tooltip) {
                tooltipFound = true;
                tooltipElement = tooltip;
              }
            }
          });
        
          // 如果找到了 tooltip 元素,处理它
          if (tooltipFound && tooltipElement) {
            // 使用 setTimeout 稍微延迟处理,确保 tooltip 内容已完全加载
            setTimeout(() => {
              handleTooltip(tooltipElement);
            }, 0);
          }
        });
      
        // 配置观察器
        const config = {
          childList: true,  // 观察子节点的添加或删除
          subtree: true,    // 观察所有后代节点
          characterData: true, // 观察文本变化
          attributes: true  // 观察属性变化
        };
      
        // 启动观察器,观察整个文档
        observer.observe(document.body, config);
      
        // 也检查当前可能已存在的 tooltip
        const existingTooltip = document.getElementById('tooltip');
        if (existingTooltip) {
          handleTooltip(existingTooltip);
        }
      }
      
      // 当 DOM 加载完成后初始化
      if (document.readyState === 'loading') {
        document.addEventListener('DOMContentLoaded', observeTooltips);
      } else {
        observeTooltips();
      }
    })();
    
  • ### 号不能被替换为空吗

    2025-03-09 11:58

    # 号有实际语义,一般不视为空。

    可以使用文本编辑器搜索 ### 替换为空

    PixPin20250309115809.png

    对于三个一上的连续空格可以使用支持正则替换的编辑器处理

  • 使思源笔记界面更简洁的建议

    2025-02-15 14:23

    添加并启用以下 CSS 代码片段可实现(设置-外观-代码片段)

    PixPin20250215142136.gif

    /* 当前文档面包屑浮动显示 */
    .layout-tab-container .protyle-breadcrumb {
        opacity: 0;
        transition: opacity 0.3s ease;
        &:hover {
            opacity: 1;
        }
    }
    
    
  • 网页剪藏对会有谜之换行

    2025-02-02 16:18

    可以试试调整实验性特性

    Clip20250202161808.png

  • 在笔记中怎么画甘特图?

    2025-01-23 23:29

    Clip20250123232903.png

    输入 / ,选择 mermaid,贴入甘特图代码(可以让 ai 按照描述给代码),如

    gantt title 项目开发计划 dateFormat YYYY-MM-DD axisFormat %m-%d section 设计阶段 需求分析 :active, des1, 2024-03-01, 2024-03-05 原型设计 :des2, after des1, 4d 设计评审 :des3, after des2, 2d section 开发阶段 前端开发 :2024-03-10, 12d 后端开发 :2024-03-12, 10d 联调测试 :crit, 2024-03-20, 5d section 交付阶段 用户验收 :active, 2024-03-25, 4d 上线部署 :2024-03-30, 2d
  • 《防弹笔记法》阅读笔记:应该如何收集和处理资料

    2025-01-17 17:42

    发现之前都是用 daily note 以面向过程的方式、记录时间的维度去记录一系列事件日志 🤯

    一些长跨度的被动任务倒也会创建一些以任务为名的笔记,并在其下记录任务步骤。

    但往往会因为割裂的写作体验等原因,导致在这些被动任务结束之后将任务衍生的一系列内容搁置。

    心里倒是一直想着「某个时间一定要整理这些内容……」「等到这些记录需要某个输出时我再整理调度起来」,然后实际上这些内容因为缺少一个回顾的手段或者随着回顾的次数更少、待回顾的内容增多导致某些内容实际上已经和实际的事务、记忆断开了链接。以至于后续找到契机重启相应的任务时,已经忘记了有哪些关联内容了 😅

    可能有我阅读和思考不够的原因,当前我的理解是:防弹笔记法可以看作 daily note 的一种进阶应用,它也可以「面向过程」记录,但不只是虚空画靶随缘归类,而是可以进一步的面向「业务」流程记录。通过将记录内容可指向的输出的关联思考、对可指向输出任务步骤的细分,实现了一种 建立打磨 SOP 的方法。

    SOP:任务的独立最小步骤,具有清晰的输入输出、明确的条件控制规则。

    通过相似业务进行时对具体步骤的重复打磨,一方面实现了资料存入时所需的预处理,另一方面对于未来更复杂目标的计划,可以利用这些独立、高效且经过重复验证的步骤来帮助我们更好的完成任务 😋

  • 能否实现一个不含 electron 的便携版(绿色版)思源?

    2024-12-29 22:13

    你可以:

    • 服务器上部署思源,网页访问
    • 用像 WinToGo 的轻便设备安装思源

    贴上的项目似乎也不是免安装,别人是把整个项目给你,只是把安装的过程省略为一个脚本(而且依然是要联网安装)

    PixPin20241229220718.png

    而且数据文件放在 u 盘,加载速度可能会难以接受。

  • 极简懒人版 - 文章划线评论 && 汇总整理

    2024-12-28 18:57

    直接选中文本添加链接也能当作临时的划线评论吧,配合 sql 查询特定文章不以协议开头的链接文本就实现汇总了

    😋

  • 使用思源专注记录三月后的一些疑问和想法

    2024-12-17 21:27

    个人更常用到的其实也只有三个颜色,黄色表示需注意,红色表示重要,蓝色或其余颜色特殊标记(各场景下不同意义,处理跨界现象,例如那些没到需要注意只是做提示的内容)