Quick Tip: Organizing Properties with Obsidian Linter

Obsidian Properties have now been out for a week. Have you had a chance to use them yet? (If not, see our introduction here)

I love Properties, but they aren’t quite perfect. I have a few complaints.

One pet peeve of mine is this: once you have more than a few notes, it’s hard to keep your Properties consistent and organized. The more you store in Obsidian, the more of a problem this becomes.

But why is it a problem?

The Problem with Messy Metadata

Messy metadata presents a couple of problems in our vaults.

First, messy data is hard to process. Take a look at these two examples and consider which is easier to read:

A screenshot of unorganized metadata in Obsidian.
A screenshot of well organized properties in Obsidian.

(Click to view full-size)

This is the exact same data, but one is organized, and the other is not. The organized one is MUCH easier to read, don’t you think?

Organization reduces cognitive load, because you can scan your metadata instead of reading it. After a while, your eye goes directly to the data you need, instead of having to read the whole table every time.

Messy data is also inconsistent data. When your metadata is organized, it becomes obvious if you’re missing anything. If your data is clean, it’s easier to notice if there’s something wrong with it.

Using Systems to Reduce Cognitive Load

Building systems in Obsidian is a great idea. Systems allow you to make a decision one time instead of hundreds (or even thousands) of times. Anytime you make one decision that reduces the number of decisions you need to make in the future, you are creating a system.

If we want to have clean metadata, we need to build a system. We need to be able to pick the order of our properties once, and never have to think about it again.

But how do we do that? Obsidian doesn’t currently have any way to automatically order properties, does it?

No, sadly it does not. Properties stay in the order that you create them, unless you drag and drop them to manually order them, which is not very efficient.

One way we could solve this is with templates.

Metadata and Templates

The simplest—though not the most effective—way to solve this is with templates.

Obsidian supports templates out-of-the-box, so all you have to do is set up a template with your preferred metadata.

If you’re just getting started with Obsidian, and your metadata requirements are minimal, then this can work well. But what do you do if you already have hundreds or thousands of notes with inconsistent data sprinkled throughout?

Templates won’t cut it in this case. Templates only insert data, they don’t refactor data. If you have old messy data, or if you change your metadata frequently, then templates just aren’t going to cut it.

Fortunately, Community Plugins exist, and give us a lot more options. Want to organize properties automatically in Obsidian? Well, let me introduce you to Obsidian Linter.

Organizing Properties with Obsidian Linter

Obsidian Linter is an amazing plugin.

What is a “linter”? A linter is a programming term for a program that checks your text for style errors. Linters allow you to make many decisions up front, and then the linter will enforce the decisions that you made.

Obsidian Linter does exactly that: it allows you to make one decision instead of hundreds. It has tons of options that allow you to create consistency across your vault. For example, here are a few rules that it can enforce for you:

  • Capitalize headings
  • Remove trailing punctuation
  • Remove trailing white space
  • Auto-correct common misspellings
  • Convert spaces to tabs

These are just a few examples of the dozens of different things that Linter can adjust and enforce for you. With the click of a button, Linter will fix these things (and hundreds of other things) in any file you open.

Even if you try to enforce these rules yourself, you’re likely to make a mistake now and then. Linter doesn’t make mistakes: set your rules once, and Linter will take care of the rest.

Installing Linter

Now that we know why we want consistent metadata and which tool to use, we can get to work.

As you may have guessed by now, Linter also has the ability to order your properties automatically for you. And so we come to the point of this article.

If you want consistent metadata, it’s a good idea to use Linter.

How do we use it?

  1. Install Linter (click to open in Obsidian)
  2. Enable Linter in your community plugins
  3. Setup Linter (see below)

Note: if you haven’t used them before, see our Introduction to Community Plugins

Setting up Obsidian Linter

By default Linter doesn’t do anything. Once you install it, it will just sit there until you configure it.

Since we’re focused on organizing properties with Obsidian Linter, we’re going to keep the configuration simple. All you have to do is go to settings and flip a few switches.

First of all, go to Linter settings and turn ON “Lint on file change”:

This is my preferred option, because then Linter will keep your metadata up-to-date in the background. You won’t have to do a thing, just keep editing your files as usual and Linter will update files as you close them.

Once you’ve turned that on, then select the “YAML” tab:

And scroll down to where it says “YAML Key Sort”. Turn on “Sorts the YAML keys based on the order and priority specified”:

Last but not least: now you have to decide which properties you want to sort, and in what order. Enter your preferred order into the box labelled “YAML Key Priority Sort Order” (shown above).

Determining your preferred order can be tricky, and depends on your vault and preferences. Here’s my current list, but yours will be different depending on what data you use, and what you prefer to see first:

parent
birthday
anniversary
tags
aliases
cssclasses
standing
priority
status
publishurl
date
updated

Note: the Property Editor doesn’t show uppercase characters, so keep in mind that “Date” and “date” are processed differently by Linter, even though they look the same as properties.

Feel free to copy my list or write your own. The order itself doesn’t matter as much as having a consistent order, but I do like to group related fields (like birthday and anniversary, or date and updated)

And that’s it! If you’ve set everything up properly, your Obsidian Properties will automatically maintain a consistent order from now on, in every note you edit.

Conclusion

Creating systems in your Obsidian vault helps you to offload your brain and become more productive. Organizing properties with Obsidian Linter is one great way to do that.

I hope you give this a shot and let me know how it goes for you. Did you have any challenges? How does it feel to know you never have to sort your own properties ever again? Let me know 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *