对 daily notes 的传递型双链仍有使用上的一些困惑

本贴最后更新于 252 天前,其中的信息可能已经时移世异

什么是传递型双链,见 @deerain双向链接时代的快速无压记录。简单来说,双链分两种,传递型双链和关联型双链。

我一共有这样几个问题。

写新双链会新建文档块,而文档块没法用传递型双链传递到其对应的主题

思源笔记不允许建立空的双链,新双链会自动生成一个对应文档块。

所以,在写笔记的过程中新建双链所新生成的文档块怎么办,这个文档怎么传递?很遗憾,文档块没法传递。

为什么要传递?因为很多时候需要呀。比如,大学上一门[[高等数学]]课程,我想把它传递到[[我的大学课程]]、[[数学]]等主题处呢。

对大家来说这是不是个问题?如果是的话,你是如何解决的?

我目前想了两个办法:

  • 事后解决:先不管它,以后需要的时候,再手动把文档块转变成标题块,这样就能用传递型双链传递了。
  • 事前解决:在建立新双链前,先写好这个块。
    • 但这样的话,开始的时候要写好多好多块,得一直传递到「我想要传递到的尽头处」才能停。

顺带再问一个相关问题:要是把思源里某些笔记同步到博客上,是不是这个笔记只能是文档块?

如何在反链面板上单独筛选出传递型双链?

什么情况下需要区分传递型双链和关联型双链呢?

我们知道,传递型双链是用来把该笔记「传递」给相应主题的,也就是说该笔记「属于」这个主题;而关联型双链就是用到了这篇笔记,提了一句。

所以使用场景就很明显了:在汇总整理某个主题的笔记时,要汇总到正文里的,主要就是传递型双链需要传递的内容。因此在汇总的时候,我就希望尽量不要看到关联型笔记的内容「混杂」在里面来干扰我。如果反链面板中内容太多,这两者就不好区分,就很难办。

我觉得不用举例子了。

有两个解决办法,但都有缺陷,没法用:

  • 肉眼辨识反链面板中的传递型双链,把传递型双链全都拖到正文里,然后再整理。
    • 但是哈桑的原文也说了,这往往并不是一个好方法。
  • 用 SQL 来筛选?我不会这东西,不知道能不能筛选出来?
    • 我强烈怀疑筛不出来。如果传递型双链仅仅是 - [[]] 的格式,我觉得还能用 SQL 来搜;但如果传递型双链有多个呢?如果这一行里还有别的内容呢?比如 - [[思源笔记]] [[OneNote]],我要筛选作为传递型双链的 [[OneNote]] 怎么搜?我觉得 SQL 肯定筛不出来。

总之,思源笔记没法区分两者,没法分别筛选出两者,至少我没找到方法,搜也没搜到。

思源笔记的「虚拟引用」功能极大地缓解了这个问题,平时再也不用手动链接概念(如数学概念、数学定理)了;但是还不够。

对大家来说这是不是个问题?如果是的话,你是如何解决的?

使用 对 daily notes 的传递型双链仍有使用上的一些困惑 - Wetoria 的回帖 的方案,可以用 SQL 块嵌入的方式展示。但是块嵌入的内容没法直接拖动到正文里,多了步骤,不如反链面板方便。

二次整理反链时,如何仅查看尚未被整理到正文里的反链?

对某个主题进行第一次整理时,只传递到本主题的笔记,可以拖进来;传递到多个主题的笔记,就得考虑块引用块嵌入了。

好,现在第一次整理结束。此时反链面板中剩余有关联型笔记,以及传递到多个主题的笔记。

后来我又给这个主题传递了一些笔记。

那么,第二次整理时,面对反链面板中许许多多的反链,如何筛选出「尚未被整理到正文里的反链」?有没有 SQL 块能实现这个功能呢?(在反链面板中,按照时间排序并不一定能解决问题。)

或者说得文绉绉一点:如何用 SQL 筛选出当前笔记里 未出链的 所有「传递型入链」笔记?

双链无法建立标签那样的层级

这个困难我觉得我就不用细讲了,大家都清楚:

  • 双链没有层级的话,传递就不知道传递给小主题还是大主题更合适;
  • 双链有层级的话,那其实就同时具有了文档树的绝大部分缺点。

总之有没有层级都有其优缺点;当然,还是有层级的好,有层级我还能选择要不要层级,没层级我没得选。

我觉得除非能做成双链能同时属于多个父级才能算没有缺点。不过这方面思源也不可能改了。以后会有笔记软件这么做吗?

我想知道大家在这方面是如何处理的。

比如,主业、工作学习相关的笔记当然是好好写,建立专门的索引目录;

那其他的,比如分析看过的电视剧动画里几段剧情对比、几个角色分析,看到自己泛泛地感兴趣的历史政治信息,软件/系统对比分析,衣食住行经验技巧,人生感悟,商业行业分析,等等,传递的时候传递给具体一点的主题,还是粗一点的主题?后期浏览查阅时,你们是怎么做的?

比如,

  • 思源笔记的使用技巧应该传递给[[思源笔记的使用技巧]]还是[[思源笔记]]?
  • 写思源笔记聚焦功能的用处应该传递给[[思源笔记的聚焦功能]]还是[[思源笔记的使用技巧]]还是[[思源笔记]]?
  • 考公的优势劣势应该传递给[[考公]],还是[[公务员]],还是[[考公考编]],还是[[公务员事业编]],还是[[找工作]],还是[[找工作与职业生涯经验]]?还是传递到其中的多个?
  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    23014 引用 • 92575 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • suiji 1 1 评论

    筛选传递型双链的话应该只能靠肉眼,但可以用独特的方法提高视觉辨识度,比如利用锚文本添加如 @ 一类的特殊符号。

    筛选没有整理过的反链,我也想要这个。但是在传递型双链这个情境下不是很需要,因为传递并非引用,当第一次整理结束之后,就应该把传递型引用链接反手右键转为超链接,这才符合引用与超链接的本意不是?

    2 回复
    原来可以转换成超链接,试了一下这样在反链面板中就看不到了。感谢!
    LoneFireBlossom
  • 其他回帖
  • NishikigiReeves 1

    仅供参考:

    这是一个项目:

    [[合成一个三星棋子]]。

    一个三星棋子需要三个[[二星棋子]],所以[[合成一个三星棋子]]连接到了三个[[二星棋子]]。

    因为你知道你的任务是[[合成一个三星棋子]],所以你知道要把[[二星棋子]]链接到哪里。

    这是一个知识:

    [[二星棋子]],这也是一个知识[[二星棋子 2]],这又是一个知识[[二星棋子 3]]......

    理论上来说,如果有足够快的处理速度和时间,那么这些知识之间的联系是无限的。


    所以问题就是,你是否有一个极为明确的任务或目标,驱使你组合或链接这些块?

    比如[[抑郁症]]可以和[[双向]][[精神病学]][[黛力新]]甚至是[[物理学]]组合在一起,那么你是否有一个[[零号病人]]来让你清晰的知道该组合什么内容?

    如果没有项目或任务驱动,那么我的建议就是——爱打什么链接打什么链接,先扔那算了~

    1 回复
  • Wetoria 1 3 评论

    先回答两个问题

    1、新建文档的问题

    新建文档不应该需要整理,这样不是“无压记录”。

    我有一个【待归类】的文档,所有新建的主题,全都一股脑丢里面,不整理。目前 287 篇。

    image.png

    只有这样一股脑的 Inbox,才能真正实现无压。

    至于很多人对【内容结构】有要求,比如你提到的【【我的大学课程】】、【【高等数学】】,这种关系可以日后通过调整文档路径,以及制作 MOC 解决。

    2、筛选传递型双链的问题

    使用 SQL 的正则表达式是可以筛选出传递型链接的,大概格式是 fcontent like '^(\s*\(\(id .*?\)\)\s*)$'。我没做测试,随手写的。大概就是,只查询 fcontent(第一个节点的内容)只包含引用及空字符串的格式。

    然后再看看整理的问题

    1、块引的层级问题

    最近没怎么思考,块引的层级结构怎么设计比较好,所以下面是一些目前思考过的内容。

    我自己在思源里是有【【经验 | 思源笔记】】、【【思源笔记】】、【【经验 | 思源笔记 | 插件开发】】等主题的,目的就是为了实现【层级】的概念。

    并且为了方便链接,对这些主题增加拼音别名,就可以做到中文输入法下输入 【【jingyansiyuan 回车 回车 就能快速绑定。

    后来发现,用 enhance 插件,然后对 【【经验】】、【【思源笔记】】、【【插件开发】】这样的三个主题进行组合就行了。

    而目前的底部反链,每次都需要重新选择一次这些标签,因此计划加上保存自定义筛选条件的功能,点击就把筛选条件变为保存的结果。

    但是这样做还有一个问题,那就是丢了层级关系结构。因此我也需要找一个时间来思考一下层级关系结构是否必须,毕竟【组合优于继承】,【【数学】】也不一定只属于【【大学】】,也有可能是【【初中】】、【【高中】】。

    但是这样加块引又会带来一个问题,也就是每次维护的时候,需要输入一批块引,这很麻烦,而我也很懒。因此考虑过增加保存常用块引的模板,快速插入。

    这一部分的思考目前就到这了,没啥状态继续想,就当抛个引子

    2、反链内容的整理

    我不知道有多少人像我一样,是 DN 和整理分开的。

    如果是写一篇文章,我会在 DN 中先写完,然后再通过【拖拽 重复】这个功能,把写好的文章内容,整理到对应的文档里,然后进行发布操作。

    先不管原因,最后这篇文章的正文和反链面板里,会出现同样的内容。实际上也就是帖主问的”如何仅查看未被整理的反链“。

    关于这个问题,实际上我也想过在底部反链里增加一个标记隐藏的功能。当标记为隐藏后,就不出现在列表里,而是在一个隐藏的区域里。

    这样就能对反链进行整理了。

    但是这个功能,实际上也可以通过前面说的,增加类似 [[done]] 这样的块引,然后加上未开发的保存筛选条件的功能就能做到。

    但是帖主遇到过多个块引的整理问题了,这个我之前没遇到过,所以暂时也没想过。


    先说这么多抛个印子,看看大家的意见,我再想想后面如何设计。

    目前来说,底部反链增加【保存筛选条件】的功能,基本上能满足很大一部分的整理工作了。

    「仅查看未被整理的反链」可以用「把双链转为超链接(单向链接)」来实现,见 对 daily notes 的传递型双链仍有使用上的一些困惑 - Wetoria 的回帖
    LoneFireBlossom
    又想了想,单独筛选出传递型双链得是在反链面板上,不能用 SQL,SQL 展示的内容都是块嵌入,没法直接拖动,所以此路不通(这方法和用 Obsidian 打开对应文档,剪切粘贴/合并文档一样麻烦了)
    LoneFireBlossom
    @LoneFireBlossom 我知道呀 ←_←,但是不代表 sql 不能搜索嘛。
    Wetoria
  • LoneFireBlossom

    一个举个我学习中的实际例子。

    老师让我研究[[故障诊断]]领域,于是我新建了「故障诊断」文档。

    然后我调研发现,故障诊断属于[[PHM]]的一部分;等我调研完故障诊断之后,我还需要看几篇[[PHM]]相关的论文。于是我就有了两个需求:

    1. 在[[故障诊断]]块中,我需要拥有快速跳转到其所属主题[[PHM]]的能力。
    2. 在[[PHM]]块中,我需要拥有能够看到[[故障诊断]]的能力,在反链面板上可以,在正文也可以,链接也可以。
      1. 如果是在反链面板上,我需要能够把[[PHM]]的子节点(如[[故障诊断]])从反链面板当中单独筛选出来。(该子需求已解决,这是本帖子正文的第二个问题。)
      2. 如果我把[[故障诊断]]整理到正文里了,那我不要再在反链面板上再一次看到它。(该子需求已解决,这是本帖子正文的第三个问题。)

    大家可以先想想自己会怎么做,然后再往下看我的困难,避免被我带偏了。毕竟我的困难有可能是钻死胡同里了。




    首先,我肯定不用文档树。要用分类组织内容的话,我会选择用 TOC。

    daily notes 到底是只记录碎片化信息,还是系统性的学习也往里面记录呢?

    不论是哪一种,我用起来都感觉遇到了障碍。

    第一种方案,我把系统性的学习按照文档模式记录。

    于是,

    问题 1,如下图所示,[[故障诊断]]文档块包含两个段落块。我搜索“XXX ZZZ”竟然搜不到[[故障诊断]]。

    image.png

    我完全无法接受这个 feature,在这个例子里,我还无所谓;但是这个 feature 意味着我用写文档的方式记录的内容,我自己以后再搜索时,恐怕多加几个关键词就搜不出来了。还得减少关键词,在少量关键词产生的海量搜索结果中查询。

    问题 2,

    image.png

    我能想到的一切解决方法都会衍生出新的没法解决的问题或者很麻烦,因为把我的思考全写下来会很费劲,写一长串意义不大的内容读者看着也头疼,所以就不写了,直接看大家有什么办法我再回复吧。

    为什么要传递文档名,因为不传递文档名的话:

    1. 在[[PHM]]的反链面板上我没法快速知道这一大块东西是啥。
      1. 这个问题可以通过看文档名解决,虽然字号太小了,感觉很不好看。勉强算是一个方法。 image.png
        1. 在这种情况下文档名相当于「最高级标题」,下面的一级标题相当于「次一级标题」。最高级标题的字号竟然比次一级标题的要小,这种错位感让我很不舒服。
          1. 通过 CSS 调整字号来解决?可问题是,并非所有文档的名称都需要在反链面板上放大,比如 dailynotes 的文档名[[2024-03-22]],我放大它做甚。所以此法不可行。
    2. 如果有朝一日我浏览[[PHM]]时,我浏览反链面板,打算把[[故障诊断]]整个内容拖到[[PHM]]里,整理重组 PHM 的各个子领域内容。我就会发现我没法从反链面板上把这个文档拖进来,我很无奈,必须从文档树上把它拖进来,而这样就要麻烦很多,多好几个步骤

    第二种方案,我把系统性的学习也记录在 daily notes 里。

    问题 1,新建的[[PHM]]会新建一个对应文档块;可这立刻打破了「我把系统性的学习也记录在 dailynotes 里」的规范,这让我无所适从,产生割裂感:我的体会是,这样做的话,我在 daily notes 里写着写着才会想起来,卧槽,这个主题我已经创建,我应该去那个文档块里写,要不然就是找到那个文档块、把它拖进来;然后还得把两部分的引用合到一处,太麻烦了。

    image.png

    问题 2,等我日积月累记录了很多 daily notes 后,比如我在[[2024-03-20]]里记录了[[故障诊断]],在[[2024-03-21]]里记录了[[故障预测]],在[[2024-03-22]]里记录了[[寿命预测]],……;有一天我看一篇综述论文,论文里提到了这几个领域的研究进展,我顺带也查了好些参考文献、知乎文章,看到了好些个研究领域里有价值的内容(比如还包括[[CNN]] [[LSTM]] [[attention]],我要记录。

    于是我打开了这 n 个 daily notes。于是现在标签栏长这样:

    image.png

    ……我根本不知道哪个主题在哪个文档里面。这让我怎么切换标签页??

    1. 「搜索」并不能解决问题,因为要在搜索窗口里切换得输入文字,可能还不是第一个搜索结果,远不如用快捷键来切换标签页方便。
    2. 这些内容并不都属于[[PHM]]主题,不能在[[PHM]]的反链面板中全部看到。

    问题 3,如果我把# 故障诊断 # 故障预测 #寿命预测,以及日记、零碎信息等都记录在同一天的 dailynote 里,这个文档会很长,一个屏幕放不下。思源笔记里,一个文档只能在一个标签页里打开(在不分栏的情况下),所以我没有很方便的方式同时查看此文档下的多块内容。

    问题 4,如果东西都记录在 daily notes 里,那么文档块的反链面板上会有一大堆内容,如果我需要纯净的反链面板,就需要经常进入和退出聚焦。我设置了快捷键,但我感觉用多了我感觉真是麻烦,因为想要准确聚焦首先得用触控板移动光标位置,这个操作并不方便。这么麻烦的话,dailynotes 就称不上无压了。

    问题 5,就算聚焦可以让反链面板纯净,大纲面板纯净不了,它还固执地显示整个文档的大纲。

  • 查看全部回帖