动机
Trilium 的核心功能是能够将您的笔记组织成分层的树状结构。
然后您将拥有一个精致而深入层次结构的笔记 - 每个子树将代表您的知识库的更精致和专业的视图。
这是一种非常强大的方法,但它也带有一个隐藏的假设,即每个“子主题”都由一个父级“拥有”。我将用一个例子来说明这一点——假设我的基本结构是这样的:
- Technology
- Programming
- Kotlin
- JavaScript
- Operating systems
- Linux
- Windows
- Programming
现在,我开始学习Bash,并想创建与该主题相关的笔记。但现在我面临着在哪里分类的问题。这里的问题是 Bash 既是一种编程语言,又是一种与 Linux 密切相关的工具(shell)。似乎它属于这两者,我不能(也不想)选择一个而不是另一个。
解决方案
上面显示的问题的解决方案是允许笔记有多个父级。
我称这些为“clones”(克隆),但这有点误导性 - 没有原始和克隆的笔记 - 两个父类别中的笔记是相同的。
译者注:我感觉有点像软链接/快捷方式?只是提供一个入口,本质都是同一个程序。
关于“clones”的另一个误导性的事情是它表明已经制作了笔记的副本。这不是真的,笔记本身只保留在一个原始文件中,它只是在树层次结构中的多个位置被引用。因此,在一个类别中更改它会在所有其他类别中更改它,因为它们都是相同的笔记。
这是克隆的最终结构:
- Technology
- Programming
- Kotlin
- JavaScript
- Bash
- some sub-notes ...
- Operating systems
- Linux
- Bash
- some sub-notes ...
- Bash
- Windows
- Linux
- Programming
所以现在“Bash”子树出现在层次结构中的多个位置。两个 Bash 子树是相同的,并且包含相同的子类别和记录。
演示
在演示中,您可以看到如何使用上下文菜单创建克隆。也可以使用“Add Link”对话框或使用 CTRL+C 和 CTRL+V快捷方式来执行此操作。
如演示中所示,您可以在功能区工具栏的“Note Paths”选项卡中查看所有可用克隆笔记的列表。
树视图中克隆笔记的标题在右侧有一个星号,可以轻松看到该笔记也放置在其他位置。
前缀
由于笔记可以分类到多个位置,因此建议选择适合所有位置的通用名称,而不是更具体的名称以避免混淆。在某些情况下这是不可能的,因此 Trilium 提供了“分支前缀”,它显示在树中的音符名称之前,因此提供了一种特定的上下文。前缀是特定于位置的,因此它仅显示在树窗格中。
删除笔记/克隆笔记
对于克隆,删除的工作原理可能不会立即显而易见。
如果您尝试删除笔记,它的工作方式如下:
- 如果笔记有多个克隆,只删除这个克隆并保留实际的笔记(及其其他克隆)原样。
- 如果此笔记没有任何其他克隆,请删除该笔记
- 在所有笔记的子笔记上从 1. 开始运行整个过程。