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.