Five years ago, I decided to start keeping a “second brain” note system, in an effort to start keeping track of things…just…in general. I soon settled on Foam, a VS Code extension. I had many reasons for picking it, which I might write about eventually, but the short of it is that it keeps my notes in Markdown and on my own machines unless I choose otherwise. At the time, Obsidian wasn’t an option (I think it was paid only, IIRC), and Notion failed even the aforementioned requirements, as did most other options available then.
In the past five years, the Foam team has done a ton of work on it (shout out to them! 🫶 ) and now, I’m constantly finding new goodies that it can do. Today is one such day.
I’m active in the Foam Discord, and someone asked about hierarchical notes, a feature Dendron had when it was still maintained. Though Foam uses a different paradigm and therefore doesn’t officially support hierarchical notes, I did know that it happily supports folders, tags, and other organizational methods. The question got me wondering what it would do if I tried making a hierarchical tag. So…I tried it. I grabbed a note, and in the front matter, I added tags: foo/bar
. Immediately, the hover tips recognized it as a single tag, so that was a promising start.
But it got even better when I looked at the tag explorer, and again when I opened the graph. I expected Foam to either not recognize the compound tag, or to just see it as one string and list it with all the others.
Boy, was I pleasantly surprised to find that it supported it fantastically, recognizing the slash as a hierarchical separator, nicely nesting bar
under foo
in the list. The graph isn’t quite as nice, but still, there was a foo
node, then a foo/bar
node, then my note. Honestly, not bad for what seems to be a happy accident. I can live with that, as I don’t intend on nesting them super deep and can simply skip some ancestor tags in most cases.