动机

Trilium 的核心功能是能够将您的笔记组织成分层的树状结构。

然后您将拥有一个精致而深入层次结构的笔记 - 每个子树将代表您的知识库的更精致和专业的视图。

这是一种非常强大的方法,但它也带有一个隐藏的假设,即每个“子主题”都由一个父级“拥有”。我将用一个例子来说明这一点——假设我的基本结构是这样的:

  • Technology
    • Programming
      • Kotlin
      • JavaScript
    • Operating systems
      • Linux
      • Windows

现在,我开始学习Bash,并想创建与该主题相关的笔记。但现在我面临着在哪里分类的问题。这里的问题是 Bash 既是一种编程语言,又是一种与 Linux 密切相关的工具(shell)。似乎它属于这两者,我不能(也不想)选择一个而不是另一个。

解决方案

上面显示的问题的解决方案是允许笔记有多个父级。

我称这些为“clones”(克隆),但这有点误导性 - 没有原始和克隆的笔记 - 两个父类别中的笔记是相同的。

译者注:我感觉有点像软链接/快捷方式?只是提供一个入口,本质都是同一个程序。

关于“clones”的另一个误导性的事情是它表明已经制作了笔记的副本。这不是真的,笔记本身只保留在一个原始文件中,它只是在树层次结构中的多个位置被引用。因此,在一个类别中更改它会在所有其他类别中更改它,因为它们都是相同的笔记。

这是克隆的最终结构:

  • Technology
    • Programming
      • Kotlin
      • JavaScript
      • Bash
        • some sub-notes ...
    • Operating systems
      • Linux
        • Bash
          • some sub-notes ...
      • Windows

所以现在“Bash”子树出现在层次结构中的多个位置。两个 Bash 子树是相同的,并且包含相同的子类别和记录。

演示

在演示中,您可以看到如何使用上下文菜单创建克隆。也可以使用“Add Link”对话框或使用 CTRL+C 和 CTRL+V快捷方式来执行此操作。

如演示中所示,您可以在功能区工具栏的“Note Paths”选项卡中查看所有可用克隆笔记的列表。

树视图中克隆笔记的标题在右侧有一个星号,可以轻松看到该笔记也放置在其他位置。

前缀

由于笔记可以分类到多个位置,因此建议选择适合所有位置的通用名称,而不是更具体的名称以避免混淆。在某些情况下这是不可能的,因此 Trilium 提供了“分支前缀”,它显示在树中的音符名称之前,因此提供了一种特定的上下文。前缀是特定于位置的,因此它仅显示在树窗格中。

删除笔记/克隆笔记

对于克隆,删除的工作原理可能不会立即显而易见。

如果您尝试删除笔记,它的工作方式如下:

  1. 如果笔记有多个克隆,只删除这个克隆并保留实际的笔记(及其其他克隆)原样。
  2. 如果此笔记没有任何其他克隆,请删除该笔记
    • 在所有笔记的子笔记上从 1. 开始运行整个过程。