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

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

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

我一共有这样几个问题。

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

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

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

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

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

我目前想了两个办法:

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

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

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

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

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

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

我觉得不用举例子了。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

比如,

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

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

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

    22337 引用 • 89380 回帖

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • 没有任务就先去学新东西......

    1 回复
  • 其他回帖
  • LoneFireBlossom 3 评论

    之前说,对于“筛选没有整理过的反链”这个需求,可以把整理过的双链转为超链接。

    我现在发现,这个方案不可行。

    因为按照思源的规则,锚文本这一行不能有双链以外的东西,反链面板上才能展示其子级别内容。


    2、反链内容的整理

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

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

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

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

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

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

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

    @Wetoria 见上,我之前说的方案不可行,然后我也还是没想出好办法来。

    补充一个实际例子好了。

    比如我写了一篇「思源笔记,remonote,anki,supermemo 实现闪卡复习的功能对比」,锚文本有[[思源笔记]] [[remnote]] [[anki]] [[supermemo]] [[闪卡 | 间隔复习]] [[对比]]。

    现在我要写整理「闪卡」这个文档,做一个 MOC。我如何标记这篇文章,才能表明“它已经在闪卡里整理好了,但是在其它几个锚文本文档里都没整理好”?

    将[[闪卡]]转换为 markdown 链接和删掉,都会导致筛选时没有这个锚文本。

    2 回复
    3 操作
    LoneFireBlossom 在 2024-04-14 00:46:36 更新了该回帖
    LoneFireBlossom 在 2024-04-14 00:45:19 更新了该回帖
    LoneFireBlossom 在 2024-04-14 00:32:32 更新了该回帖
    [[待整理 | 闪卡]] [[已整理 | 闪卡]],不要怕块引多。
    Wetoria
    没看懂,纯粹传递性质的,传递完了为什么还要让它出现在反链面板上?你是想在【闪卡 MOC】页中通过反链面板得知《功能对比》的整理信息?如果是的话,那你应该是在运用“反链即正文”,这也是很多人推崇的,其它网友也给出对策了,挺好的。 只是我总不太习惯,比较保守。我仍然会把[[闪卡]]转为超链接,通过鼠标悬浮【闪卡】中的 MOC 链接(无论是超链接还是引用链接),浮窗所示,一串块引中没有变成超链接的,就是在其它几个锚文本文档里都没整理的。在我的使用理念中,反链面板的定位就只是:告诉我当前内容是否被其它什么地方使用着。仅此而已了,不会让它承担更多的用法。如果需要知道《功能对比》被【闪卡 MOC】使用着,那么 MOC 当使用块引链接。如果需要知道【闪卡 MOC】被《功能对比》使用着,那么[[闪卡]]就保留块引,不转超链接;而此时,在传递型双链用法下,《功能对比》又怎么会使用【闪卡 MOC】呢?会使用就不是纯粹传递型用法了,而是复杂的双向交叉,叠层套娃,筛出这种情形的最直观方式反而是打开局部关系图,去找双箭头。总之,这只是阐述我的习惯,仅供参考。
    suiji
    @suiji 因为它还会出现在别的主题的反链面板上…
    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 回复
  • suiji 1 评论

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

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

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

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

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

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

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