Dendron Schemas

May 22, 2021
3 minute read
dendron software

As I mentioned before I started using the fantastic note-taking tool Dendron a while back. It’s “hierarchy-first” approach and in particular the ease to find notes not only to create them is a big improvement over my previous attempts at note-taking with tools ranging from Evernote, and OneNote to plain-text tools like simplenote and of course org-mode.

In all my previous attempts I struggled with consistency in the taxonomy, i.e. making sure similar things are named similar. Tiago Forte’s P.A.R.A methods also suggests this. Among other useful functionality Dendron supports this via schemas. For me they serve two useful purposes:

Over the last months I created a number of them and share them here.

Initially I just copied some of them from the Dendron Wiki and then built additional ones based on these examples. Here are some descriptions on what schemas I use and how I create additional ones.

The way I go about creating a new schema is quite simple. I start from a generic skeleton like this

version: 1
schemas:
- id:
  desc:
  parent: root
  namespace: true
  children:
    - books

- id: books
  desc:
  namespace: true

id contains the name of the hierarchy such as the ones above and I add a description what it is about. Since I like to read books on subjects I’m interested in I always add a child item books. This requires to add another id books in the schema. The main topic receives the attribute parent: root to indiecate that this is a top level hierarchy. All other id items can show up as children. This can be nested as you can see in the daily.schema.yml file.

As an example if I were to start collecting notes on leadership the result would be a file called leadership.schema.yml with the content

version: 1
schemas:
- id: leadership
  desc: My notes on leadership topics
  parent: root
  namespace: true
  children:
    - books
- id: books
  desc: leadership books
  namespace: true

If further patterns emerge I might add additional children to it. This usually happens when I refactor the hierarchy. As an example take a look at the cloud.schema.yml file where I added children for the main cloud providers (AWS, Azure and GCP) and main technologies (Kubernetes, Cloud Native).

The other useful feature schmas support are templates. If I add an item like

  template:
    id: template.daily
    type: note

to an entry magic happens 😄. Whenever I create a new note that applies to this schema the content of the file template.daily is added to the new content. This file needs to exist as a normal note for this to work but then it’s very useful. I use it for a structure of my daily notes, for meeting notes and my weekly review.

Share on:

Logseq Sync Options

January 16, 2024
5 minute read
dendron logseq software productivity

How I add web articles to my personal knowledge base

October 29, 2023
3 minute read
dendron logseq software productivity

Markdown Tasks in Vscode

November 8, 2022
3 minute read
dendron software