Ancestor Note

Ancestor notes are notes positioned higher in Thorg's note hierarchy, serving as organizational parents to descendant notes. They provide structure and context for more specific topics nested beneath them.

Thorg uses a dot-delimited hierarchy system to organize notes into logical, navigable structures, creating parent-child relationships that enable powerful organization and cross-referencing capabilities.

Core Hierarchy Concepts

Dot Notation

Thorg hierarchies use periods (.) as delimiters to establish parent-child relationships:

workspace/.thorg
workspace/vault-1/grandparent.parent.child.md
workspace/vault-1/grandparent.parent.md
workspace/vault-1/grandparent.md

Each additional dot represents a deeper level in the hierarchy:

  • grandparent - Root level
  • grandparent.parent - Second level
  • grandparent.parent.child - Third level
Subfolders in vaults in the future

We aim to support sub-folders within Vault for hierarchies in the future to increase compatibility with other markdown-based tooling. However, sub-folders in vaults are NOT the priority for initial releases.

File Structure and Note Names

ComponentDescriptionExample
File PathPhysical location on disk/../workspace/vault-1/grandparent.parent.child.md
Note NameHierarchical identifier (File path without vault path, without file extensions)grandparent.parent.child
Parent NoteOne level up in hierarchygrandparent.parent
Root NoteTop-level ancestorgrandparent

Cross-Vault Hierarchy Support

Thorg's hierarchy system extends across multiple vaults, allowing you to maintain consistent organization while separating content by access level or purpose.

Example: Public and Private Vaults

Public Vault Structure:

topics.programming.javascript.md
topics.programming.python.md

Private Vault Addition:

topics.programming.personal-notes.md
topics.programming.javascript.private-examples.md

The hierarchy remains intact across vaults, with all notes sharing the same ancestor (topics.programming).

Reference any note in the hierarchy using wiki links:

  • [[grandparent.parent.child]] - Link to specific note
  • [[grandparent.parent]] - Link to parent note

Hierarchy Benefits

graph TD A[Root Note] --> B[Parent Notes]; B --> C[Child Notes]; C --> D[Grandchild Notes]; B --> E[Cross-Vault Children]; style A fill:#f96,stroke:#333,stroke-width:3px; style E fill:#6f9,stroke:#333,stroke-width:2px,stroke-dasharray: 5 5;

Best Practices for Thorg Hierarchies

  1. Meaningful Names: Use descriptive, concise terms that indicate content relationships (use title in frontmatter for more verbose note names)

    • projects.web-app.frontend.components
    • stuff.thing1.more.items
  2. Logical Grouping: Place related content under common ancestors

    documentation.api.endpoints.users
    documentation.api.endpoints.auth
    documentation.api.endpoints.products
    
  3. Sibling Organization: Notes under one parent should be conceptually related

    tools.editors.vscode
    tools.editors.neovim
    tools.editors.sublime
    


Backlinks