FAQ

All the questions we thought you might ask.

General

What is a Dendron?

A Dendron is many things.

  1. Dendron is the greek word for tree. It's a reference to the hierarchal note taking that Dendron(3) enables.
  2. Dendron is another word for dendrite which is an extension of the nerve cell that sends and receives signals in the brain. Think of Dendron(3) as a digital nervous system that helps you consolidate all the information that you care about in the fastest and most efficient way possible.
    • Image by Quasar Jarosz at English Wikipedia
  3. Dendron is a local-first, Markdown-based, hierarchical note taking tool. It is meant to help you organize, manage, publish, and collaborate on knowledge bases of any size.

How is Dendron different from X note taking tool?

Most PKM tools help you create notes but slam into a wall retrieving them once your knowledge base reaches a certain size threshold. That threshold varies with the tool, but virtually everything stops working past 10k notes unless the user was extremely diligent about organizing their knowledge. Past this threshold, entropy wins and every query becomes a keyword search and scrolling through pages of results.

Dendron's mission is to help humans organize, find, and work with any amount of knowledge.

It not only helps you create notes but also retrieve them - retrieval works as well with ten notes as it does with ten thousand.

Our main differentiator is our focus on structure - we provide gradual structure for your PKM that is both flexible and consistent.

This means you can start with daily journals, capture thoughts in zettel's and create consistent hierarchies over time which you can enforce using schemas and change through refactoring.

Is Dendron free? Will it stay free?

Dendron, the client, is free and will always remain free. It is also open source so anyone is free to make their own fork of Dendron.

That being said, I'm all in on Dendron and this is my full time gig. I want to make sure that developing Dendron remains sustainable. To that end, I plan on introducing value add server side functionality that folks may pay for. Examples of paid for features include:

  • private hosting (for folks who want to publish but not use GitHub Pages or want to add authentication)
  • enterprisy things
    • eg. on premise installations of Dendron with single sign on, active directory, and fine grained permissions
  • offering private subscription based vaults (eg. think substack but having people subscribe to vaults instead of newsletters )
  • server side IFTTT like functionality (eg. everytime I add an entry to Airtable, add a note to Dendron)

Paid for features will be 100% optional and will not be necessary for any client side functionality in Dendron.

Why is Dendron built on top of VS Code?

As with all things, its a matter of tradeoffs. Dendron started its life as a standalone app (eg. think Obsidian) but I quickly realized I was spending most of my time building undifferentiated editor scaffolding instead of focusing on the hierarchies and schemas that made Dendron unique.

I wanted to spend more time building out features that supported Dendron's hiearchy first approach to note taking which is what led me to re-write it for VS Code.

That being said, the core Dendron engine is not VS Code specific and there are folks that are experimenting with porting it over to other editors (eg. Sublime Text, Vim). We also have plans for a standalone editor in the future (most likely, this will be a fork of VS Code optimized for note taking)

Notes

Why Markdown?

Markdown lets you write text in a simple human readable notation that is platform independent. You don't need to have Microsoft Word to read a Markdown file and nowadays, all new note taking tools support importing and displaying Markdown.

For more context, you can see the original Markdown declaration here

Can I use Dendron with existing notes?

You can use Dendron with existing repositories of Markdown notes.

Open the Command Palette in VS Code and use the Dendron: Change Workspace command. It will ask you for a folder path as input.

Dendron will create a dendron.code-workspace file in specified directory and then open the workspace (if a workspace file already exists, it will use that). It will also create a root.md file in that directory if it doesn't exist (currently this is part of the internal working of Dendron).

Dendron does not delete or overwrite any files during the Change Workspace operation.

How do I save?

Dendron automatically saves when you change focus (switch tabs or applications). You can also manually save using Cmd+S or Ctrl+S depending on your operating system

How do I go back to the previous note?

There are 3 ways to go back to my previous note:

  1. ctrl-tab (go to previous tab with default VS Code settings)
  2. click on the previous tab
  3. using the open editors pane
  • NOTE: to have more than a single tab show, you need to have the following settings
{
    "workbench.editor.enablePreview": false,
    "workbench.editor.showTabs": true
}

What can I do with the root note?

The root note is a special note that comes with every Dendron vault. You can't rename it and we don't advise that you create a hierarchy from it. You can add custom frontmatter variables and change all existing variables except the id field.

You are also free to use the body however you wish.

Can I manually move notes?

Yes. You can move notes manually outside of Dendron or between different vaults. Some things to keep in mind:

  • you should keep the id of the note since features like publishing depend on it to find the right link
  • if your notes have Cross Vault Links (only applicable for Multi Vault), those links might break if they are moved to a different workspace that doesn't have reference to the original vault

Hierarchies

Why hierarchies?

Users of other note-taking tools often balk at Dendron's focus on hierarchies. The common counterpoint is that the real world is not constrained by hierarchy and that this approach isn’t flexible enough for what they want to do. These users argue for graphs and backlinks as a better primary model for managing knowledge.

A graph is indeed more flexible. If we were building a digital brain for computers to perfectly model the world, we would probably go with this approach. But we’re not building a tool for computers to capture every facet of the world, we’re building a tool to help humans make sense of it. The challenge we face as humans is information overload. There is too much of it and we need ways of constraining that complexity. Filtering large amounts of information into exponentially smaller subsets is what hierarchies are built for (and why they are used as the core primitive in every database ever created).

With a hierarchy, you have one source of truth where a note can be filed and a filtering process to help you find the right place to file. Note that this doesn't limit you to creating secondary associations using backlinks, tags, and keywords.

The traditional failings of past hierarchies were that they were too rigid. Most people’s experience with hierarchies are folder hierarchies that ossify from the moment that they are created. These hierarchies are hard to change and so people don’t change them, even as their underlying understanding of the domain changes. It is because of this friction that most new tools focus on note creation without any predefined structure. This approach makes creating notes easy but finding notes hard.

Dendron has flexible hierarchies. They provide a structure for your notes but these structures can be easily changed. In programming, developers can refactor code and change its structure — the IDE will make sure that all references pointing to the original code are updated. In Dendron, you can refactor notes and hierarchies and Dendron will make sure that your PKM is consistent throughout. This means that you have the best of both worlds: a basic structure for the organization but the flexibility to change it.

How should I name a note?

There are no rigid requirements on note naming in Dendron, other than the dots in the file name are used to construct the note hierarchy. However, the recommended way is to use all lowercase letters, replace spaces with --mark and remove any special characters. Thus e.g. John's amazing garage becomes johns-amazing-garage.

Also, remember that you will use the note lookup-feature to find notes quickly, and the lookup will use the names of the files. Thus try to name the files using the words that you are likely to use to find the note.

What kind of note hierarchy should I create?

A good guideline is to start with a relatively flat hierarchy (even just a single note in the root!) and add topics as headings into those notes. When notes grow to the point that you have to start scrolling, it’s time to consider if it would be beneficial to split those notes. At that point, you probably already have some idea how the thoughts are placed in your mind - try to mimic that also with the hierarchy.

If you have a hard time deciding which ideas belong closer to root, think which of those ideas are more fundamental in your thinking. As an example, a note related to coding in Excel, should it be named as code.excel or excel.code? This could be resolved by thinking if you will write more about coding where Excel is just one example, or more about Excel, where coding is only one example. In case you think that both excel.code and code.excel are equal and both should be created, you could also make one of them a “master note” and refer to it from the other note.

Do I have to use hierarchies? What if I want to use another approach?

Despite our emphasis on hierarchies, Dendron also supports non-hierarchal ways of organizing notes (eg. backlinks, zettelkasten, etc.).

You can, and are encouraged to, combine these other workflows with Dendron hierarchies in order to create your own workflow that takes the best parts of each system!

What if I have a note that belongs in multiple hierarchies?

This comes up a lot especially when your dealing with organizing collections of things, like music or books. There are a few approaches we recommend here.

  1. Use tags. Tags work best with categorical data. If you use Dendron Tags (aka they're really hierarchies), then you have the added advantage of being able to refactor and track your tags using Dendron's existing hierarchal tooling.

Will Dendron ever support folders?

It is possible though most of the approaches we've thought of would take a large amount of effort and deliver questionable benefit on top of what's already planned (for more info, see the discussion here).

If you want the ability to collapse folders, you can use the Dendron tree view. For existing folder based notes and assets, you can use the Markdown pod to import them into Dendron.

At the end of the day, folders are meant to be an implementation detail for Dendron. The underlying primitive of a note is an object that has metadata, content, and links. You can think of Dendron as a flat file based database and lookup and the tree view as the UI to said database. For use cases involving external tools that require folders, you'll soon be able to use the Markdown export pod to do just that.

Schemas

What is the deal with schemas? Do I need to use them?

The short answer is no, you don't need to use schemas. That being said, schemas can help you manage your notes, especially as you collect more of them.

If you're familiar with typescript - Dendron schemas are similar to the types offered by typescript. You can compile your typescript code into javascript even if the types don't match (subject to your tsconfig). Types help make your projects maintainable, especially as they grow.

Dendron will show an indicator if your schema doesn't match. In the future, we'll have a strict mode where we will prevent you from creating notes that don't match your schema.

Schemas at the end of the day help you construct consistent hierarchies for your notes. Consistent hierarchies alleviate the cognitive overhead of needing to understand and track N things where N can be very big. Instead, you can construct a single schema that encompasses the common areas of all N things.

But even if you don't have a lot of notes, schemas are helpful because they provide extra features like templating and auto complete.

How do schemas work with multi-vault?

The short answer currently is not very well 😅

  • if two schemas overlap between different vaults, the last schema wins
  • schema imports don't currently work x-vault

What this will be in the future:

  • schemas should only work on the vault that they are declared in, and you can have an option to specify (in dendron.yml if you want a schema to be global)
  • schema imports should work xvault (import syntax will be {vaultName}.{schemaName})

Vaults

Git Doc and other extensions don't recognize my repos for multi-vault

Many VS Code extensions that work across multiple git repositories won't recognize repos nested another repo. The way to fix this is by having your workspace be the last entry inside folders in your code workspace file (Dendron does this by default for new workspaces and if you add new vaults using Vault Add). You can see an example below. You can see a published example of this setup here

    "folders": [
        ...
        {
            "path": "kevin-public/vault",
            "name": "kevin-public"
        },
        {
            "path": "kevin-blog/vault",
            "name": "kevin-blog"
        },
        {
            "path": "."
        }
    ],

Humans

How do I share my notes with others?

  1. The easiest way to share public documents for consumers is to publish it as a site. Instructions here
  2. If folks are comfortable with Markdown, you can use the Markdown pod to export your entire workspace or just a specific page to Markdown. Instructions here
    • NOTE: this doesn't preserve backlinks or assets
  3. The full experience is committing your workspace as a git repo and having collaborators use Dendron to add it as a Remote Vault

Pods

What are pods?

Pods are a means of data migration. You can import/export notes from other tools in and out of Dendron

Internally for example, we use Google Docs to take meeting notes collaboratively and then we use the gdoc import pod to turn it into a Dendron note

You can read more about them here.

Publishing

Why am I taken to a 403 page?

Dendron will auto-generate 403 pages during publication when a published note links to notes that are not published. You can see here for configuration behind selective publication.

Is Publishing Free?

Yep, publishing is completely free! Dendron generates a bunch of html files which you can use GitHub Pages or any static site host to publish. you can see some examples here

Search and Filtering

Can I filter by the metadata in Dendron?

Metadata is currently under utilized because we don't have a built in way of easily querying by it. We currently have this issue tracking the progress of advanced query work.

In the future, we want to support:

We also want to support some subset of the queries as note references so that the results can be included in page.

For now, we recommend you use the search editor capability for liimited querying capabilities.

Other Features

Does Dendron support a data view similar to Obsidian and Notion?

We support having a data view but not in the same way. For data views, we have an Airtable Pod which lets you map frontmatter from your notes and export it to Airtable. This way, you can use the full power of Airtable for a fully featured data view (This is how we manage tasks in Dendron)

Can Dendron auto format Markdown tables?

We don't natively support this but we recommend you do this today using the Text Tables Extension

Does Dendron support web clipping?

We recommend using one of the following tools to clip articles:

Does Dendron support flashcards?

We recommend using one of the following extensions to do flashcards:

Does Dendron support video?

We currently don't support video playback from within iframes inside of VS Code. This works when publishing but not inside the VS Code preview. This is a limitation in the VS Code webview, see more details here.

Currently, the recommendation is to link to your video (using a regular Markdown link if its online or a wikilink if its local). See File Links.

Other

How to launch Dendron with most recent vault quickly?

In menu bar of VS Code, select File -> New Window and click the Dendron workspace in Recent section of the Welcome tab.

Why are there root files in my notes?

When you initialize a vault, root.md and root.schema.yml get created inside each vault.

They serve as the "roots" of your vault for your notes and schema respectively.

root.md is used as the parent of all hierarchies, root.schema as the parent of all schemas

root.md is what shows up when you do a lookup with an empty line ""

root.schema.yml is a schema that is global for all hierarchies (normally, a schema is scoped to a particular hierarchy)

Now this isn't required per-say, we could just do away with root notes and stick strictly to hierarchies and this might be an option in the future but this is the reasoning at the current time

ps. root.schema.yml doesn't work right now as described in the sense that we haven't implemented global schemas yet

Is there a list of keyboard shortcuts I can see?

Dendron has a list of keyboard shortcuts that you can access using Dendron: Show Help command. Note that these only show the commands that come with the Dendron Plugin but not its bundled extensions. We currently have an open issue to list all shortcuts on one page.

Why are there '+' signs next to the notes in the Tree View?

The reason you see this is because Dendron will create stub notes when creating notes that have parents that don't exist. These notes are placeholders and will only be visible in the Dendron Tree View with a + sign next to the name. The reason we do stubs is because we don't want to litter your file system with empty files. Stubs are a compromise - they let you see the hierarchy of your newly created notes without forcing you to create intermediary files.

Why custom Markdown preview instead of the VS Code one?

Our custom Markdown preview gives us much more functionality then the VS Code one -> eg. note references, checkboxes, etc.

In addition, the Markdown preview that Dendron uses is platform agnostic (eg. it's also available on atom). This means that other editors could potentially adopt it as well.

VS Code Snippets are not working in Frontmatter

The default snippets are scoped to Markdown. You can create global snippets file to have snippets that work across all languages.

I want to push all my note to my git repository periodically

This can be done with some extensions that are external to Dendron such as:

  1. autogit
  2. gitdoc
  3. text

It is also described in our tip note.

Dendron 11ty Package Version is Confusing

Dendron 11ty used to be published outside of the monorepo and started with 1.x version whereas the monorepo started with 0.x .

After we synced, we synced 11ty versioning and brought it down to 0.x. every minor release, we also publish the 1.x version of the 11ty package to make it consistent but during patch releases, we just keep the 0.x numbering.

Its a bit of a hack and something that should go away in July 2021, when we switch to Next.js based publishing.

VS Code is telling me I have to authorize Dendron to run some code

VS Code recently introduced a feature called workspace trust, which lets you choose whether or not you trust a project folder in VS Code for automatic code execution.

Since Dendron creates a workspace for your notes, VS Code is asking you if you trust the workspace Dendron just created for you.

You can choose not to trust the workspace and be in restricted mode.

You can still use all of Dendron's feature in restricted mode except hooks.

My firewall is asking if I wanted to open new ports when I use Dendron. Why is this?

Dendron has a client-server architecture.

The extension talks to a (local) express server for a lot of the features and this is why it's opening new ports.

How do I setup Dendron to work between multiple machines?

See Using Dendron Across Machines


Backlinks