Link Search Menu Expand Document

Concepts

Below are some concepts that are helpful to know when using Dendron. Note that features with 🚧 are still under active development and might not be fully implemented.

Markdown

Dendron supports markdown, a popular markup syntax that is like HTML but 1000x simpler. If you are new to markdown, you can read about the syntax here.

Frontmatter

Frontmatter is YAML that you can add to the front of your markdown file. It was first introduced by jekyll and is a convenient way of adding metadata to your plaintext documents.

You can read more about the frontmatter used in Dendron here

Workspace

In Dendron, your workspace is the root of where all your files are located. It’s definde by the dendron.rootDir property and created when you first run Dendron: Initialize Workspace

Vaults 🚧

Your workspace is made up of vaults. You can think of a vault like a git repository. By default, Dendron creates a vault.main folder when you first initialize a workspace. All your notes are stored on a per vault basis.

.
└── workspace
    β”œβ”€β”€ vault.main
    β”‚   β”œβ”€β”€ foo.md
    β”‚   β”œβ”€β”€ foo.one.md
    β”‚   └── foo.two.md
    └── vault.secret (hypothetical)
        β”œβ”€β”€ secret.one.md
        └── secret.two.md

By default, when you look for notes in dendron, it will search over all vaults.

Hierarchies

Within a vault, your notes are stored hierarchically as . delimited markdown files.

Below is a hypothetical hierarchy for a file tree:

.
└── project1/
    β”œβ”€β”€ project1/designs/
    β”‚   └── project1/designs/promotion.png
    β”œβ”€β”€ project1/paperwork/
    β”‚   └── project1/paperwork/legal.md
    └── project1/tasks/
        β”œβ”€β”€ project1/tasks/task1.md
        └── project1/tasks/task2.md

The same hiearchy in Dendron would look like the following:

.
β”œβ”€β”€ project1.md
β”œβ”€β”€ project1.designs.md
β”œβ”€β”€ project1.designs.promotion.md
β”œβ”€β”€ project1.paperwork.md
β”œβ”€β”€ project1.paperwork.legal.md
β”œβ”€β”€ project1.tasks.md
β”œβ”€β”€ project1.tasks.task1.md
└── project1.tasks.task2.md

You can read more about hierarchies here

Domain

A domain is the root of a hierarchy. In the example below, project1 would be the domain.

.
β”œβ”€β”€ project1.md
β”œβ”€β”€ project1.designs.md
β”œβ”€β”€ project1.designs.promotion.md
β”œβ”€β”€ project1.paperwork.md
β”œβ”€β”€ project1.paperwork.legal.md
β”œβ”€β”€ project1.tasks.md
β”œβ”€β”€ project1.tasks.task1.md
└── project1.tasks.task2.md

Schema

As you end up creating more notes, it can be hard to keep track of it all. This is why Dendron has schemas to help you manage your notes. Think of schemas as an optional type system for your information. They describe the hierarchy of your notes and are themselves, represented as a hierarchy.

You can create a schema by adding a YAML file with the following naming scheme {name}.schema.yml to your workspace.

Below is an example of a three-level hierarchy describing cli commands. You don’t need to concern yourself with the details of the schema syntax just yet, just know that this schema will match the following glob patterns: cli.*, cli.*.cmd, cli.*.cmd.*, cli.*.env

- id: cli
  desc: command line interface reference
  parent: root
  namespace: true
  children:
    - cmd
    - env
- id: env
  desc: variables relevant for command
- id: cmd
  desc: subcommands 
  namespace: true

Pods 🚧

Pods are the mechanisms Dendron uses to import and export notes. Dendron has a different pod depending on where you are getting and publishing your data to.

Command Bar

The command bar is native to vscode. You can use it to run dendron commands, which will all be prefixed with Dendron:. You can use the following shortcut to open the command bar.

Lookup Bar

The lookup bar is how you interact with notes inside of Dendron. Use it to create, find, and delete notes. You can type > Dendron: Lookup in the Command Bar or use the CTRL+L shortcut.


Copyright © 2020 Thence LLC