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

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

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

我一共有这样几个问题。

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

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

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

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

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

我目前想了两个办法:

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

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

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

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

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

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

我觉得不用举例子了。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

比如,

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

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

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

    23014 引用 • 92573 回帖

相关帖子

欢迎来到这里!

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

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

    我想啊,仅限于我的体验啊,只要不嫌开浮窗麻烦,就没这么多事。

    还有一个就是你提到的,在 phm 里把故障诊断整全地拖过去,还有之前提到的嫌弃日记式组织的标题与内容脱离,一篇日志下多部分内容无法集中在一个视域里展示。这些问题我也有,对此我有个思路,但还没付诸实践。

    在我看来,这些问题都可以归并为内容卡的展示与存放问题。phm 里拖入故障诊断之所以不可行,是因为文档标题不归属正文,它既不是标题快,也不能有行内的引用、加粗等格式。文档块(文档树)与标题块虽然互通,但又没有完全通。我之前特别开帖子反映过,D 大回复说就是不可行。自那我就明白了,把一个主题块制作独立文档置于文档树下是有缺陷的。除了 phm 整个拖入故障诊断之操作麻烦之外,还有标题不能有引用的问题,不然几次移动转化后,引用就丢失了。所以我就在想,似乎,就在 dailynote 里新建文档是不是也不是不行?要新建主题,比如 phm?就单独开一个标题 PHM,然后在需要的地方引用这个标题完事。如果需要整理,就进聚焦。

    关于 daily note 标题与内容脱离,一篇日志下多部分内容无法集中在一个视域里展示这个问题,普通的办法还是该用标题等级还得用,然后用插件/挂件在开头处生成本文档的目录。

    我现在想说的,还未实践的新想法是:用数据库。卡片不再往文档树放,也不再独立为文档 page,就是 dailynote 中的一个标题,但是把它添加进数据库中,用数据库管理条目,添加日期属性,按日期筛选。

    声明:我还没有用过数据库,以上是我云的。但怎么说呢,我觉得道理应该是成立的。如果题主或是他人愿意实践一下呢,trollface trollface 无论成败,还请告诉我一下 🙏 唉,我太懒了,抱歉抱歉。

    第一,你写得确实太简单了,我不清楚你具体是怎么想的。第二,我之前想过用数据库了,很快放弃了这个想法,在我设想的实践中,之前我已经想过,数据库添加太麻烦,编辑信息太麻烦,事后在卡片处浏览太麻烦,积累上千上万条卡片后一个数据库能否正常浏览都是未知数,失去了「反链即正文」的特性。第三,我已经想通怎么做了,之前提过的问题都不再是问题。
    LoneFireBlossom 1 赞同
  • 其他回帖
  • Sheep 1 评论

    关联型双链和传递型双链确实没太好的区分方式,这点 remnote 有解决方案:关联型双链使用标签代替,这样就会跟普通双链区分开。毕竟 rn 里两者也是互通的。

    [[done]]完全可以呀,哪个块整理好了就给哪个块打上[[done]]就可以了。

    image.png

    一份笔记,我传递给[[A]][[B]][[C]]。现在在 A 里整理了这篇笔记,打上[[done]];那这个[[done]]到底是标注 A 做完了还是 B,C 做完了呢
    LoneFireBlossom
  • Sheep 1 1 赞同

    抛砖引玉一下吧。

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

    先看下 Logseq 中是怎么处理的吧。在 logseq 中,可以为某个页面设置标签(lsq 中的标签和页面是互通的),比如在[[高等数学]]这个 page 中打上[[我的大学课程]]和[[数学]]两个标签:

    image.png

    之后进入[[我的大学课程]],就可以看到被传递到这里的文档了([[数学]]类似,不再赘述):

    image.png

    在思源笔记中,标签和页面并不等价,自然不可能用这种方式实现。实际上,我也确实没发现太好的方式(如果有,欢迎其他人补充)。我可以提供几种思路。

    1、制作 MOC

    这种方式就需要手动维护了,比如在[[我的大学课程中]]这样写(可以用块引,也可以用块超链接):

    image.png

    同理,[[数学]]页面中也可以这样组织。但这样会带来额外的维护成本。

    2、在要传递的文章正文中使用块引

    如下图所示,在[[高等数学]]中使用块引可以将其带到要传递到的页面。

    image.png

    在[[我的大学课程]]的反链面板中,可以看到传递过来的页面。这样的缺点是,如果[[我的大学课程]]仍然有大量传递过来的文本、图片等内容,可能容易混淆。但可以使用一些特殊标记,标识下这个是被传递过来的页面,比如上面使用的 tags 块引。之后配合思源笔记增强插件的筛选功能,可以筛选出所有被传递的页面:

    image.png

    3、放弃维护文档之间的传递

    我个人是没有使用以上方法的,因为在我的实践中发现,我在同一时期频繁需要传递的主题其实就那么几个,在脑海里完全可以记住他们之间的关系,日后也不会忘记。比如大学时期,我可能同时上了五六门课,这些课都属于[[我的大学课程]],我很清楚,那么还真的有必要非要在笔记当中写下来吗?是不是陷入了形式主义陷阱呢?

    我最近接触较多的主题是[[CSRF]]、[[CRLF]]、[[XSS]],这些都属于[[Web 安全]]主题,我脑海里很清楚,而且在我整理了这么多关于这几个主题的笔记后,在我做了几十张相关知识点的闪卡后,我也有把握这种传递关系我不会忘记。或者说,当未来某一天我需要梳理[[Web 安全]]涉及到的知识点时,我才需要将这种传递关系搞出来,现在的我只要专注于最小主题学习即可,把这种苦恼传递给未来即可。因为未来你大概率会发现,除非你是要发博客,否则个人笔记完全没必要做这些事情。

    当然,思源没有很好的原生方法实现 Logseq 的效果,是一种功能缺失:标签和双链不等价。之前群里、社区不止一次提到过,但 D 大并不打算继续开发,很遗憾。

    二、如何单独筛选出传递型双链?

    答案是:没有必要筛选。

    传递型双链和关联型双联只是为了方便理解,实际上你可以以任意方式来使用,因为最终这些东西都会传递到你想要传递的那个主题的反链面板中。作为用户,作为记笔记的人,你需要记录就行了。

    无论是这样:

    - [[思源笔记]]
      - 思源笔记今天更新了xxx特性,我觉得它可以实现yyyyy功能。
    

    还是这样:

    - [[思源笔记]]今天更新了xxx特性,我觉得它可以实现yyyyy功能。
    

    甚至是这样:

    - 思源笔记今天更新了xxx特性,我觉得它可以实现yyyyy功能。[[思源笔记]]
    

    他们最终都会在反链面板中展示出来,供你参考。还是第一个问题的答案,不需要拘泥于形式,传递过来,需要的时候自然会用上。

    我自己有个习惯,我不喜欢在编辑某段正文的时候去想要把它传递给哪个主题,所以我写了个代码片段,独占一个节点的块引使用双括号样式,而节点有其他内容时,使用标签样式,效果见我主页帖子。当然,这个其实也没有必要,只是个人习惯。

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

    可以给每一个已整理的反链打上一个块引,比如[[done]],然后使用 enhance 插件,排除掉带有[[done]]块引的内容即可。

    image.png

    image.png

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

    这就回到了第一个问题,思源缺少 Logseq 那种【标签与双链等价】的功能。要么手动维护层次(没必要),要么完全忽视层级,等之后整理时利用拖动为标题法、转移引用等功能进行调整。

    1 回复
  • 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,就算聚焦可以让反链面板纯净,大纲面板纯净不了,它还固执地显示整个文档的大纲。

  • 查看全部回帖