Ideas for keeping programming language reference notes

For years I’ve kept reference notes about programming languages in mind maps (see screenshot below). I’ve done this because I’ll often not use a language for a year or more and forget most the details about how to use it. I find the mind map lets me both pick up the basics again quickly, but also search for more advanced things I’ve done in the past. I’d like to migrate this to Obsidian since my favourite mind mapping app has been abandoned, and I don’t care for the alternatives I’m seeing.

I’m looking for ideas of how I can structure this kind of reference information in Obsidian so that it’s discoverable by scrolling/clicking through, searchable, but also has room for more in depth code snippets.

The best idea I think I’ve had is to have a folder for the language (‘Java’), then a note for each of what would be a node in the mind map. In that note, I’d have headings - the equivalent of a child node. This seems far from ideal, however, as some of my mind map branches go pretty deep. It’s also not easily scrollable, or easily rearranged.

Any other ideas? Thanks!

Why not create a canvas?

I biggest map has 1,416 topics, and I may have outdated knowledge on Canvas, but isn’t placement just “free form” without an option to collapse branches? That feels like a lot of extra work to capture lots of little snippets of information.

Oh, that’s a huge map! :astonished: Still, there are a couple of mindmapping plugins for obsidian, or maybe even excalidraw could do a good job? Not using them, so I can’t really say if that solves your problem - but just an idea, maybe worth a try…

If you are comfortable with adding a couple steps, you could also link your notes within that folder. Then, you could filter your notes to that specific directory to see just the notes for that folder, effectively giving you a mind map in the graph view. A nice bonus is that if you have reference notes that aren’t linked, you see them just floating out there and know that you need to link them.

Just recently, the Obsidian team made it such that you can bookmark a graph view so you could save all your reference note mind maps as bookmarks.

You can use links to create the tree structure. All you need to do is have a note called “Java” which contains a collection of links to other notes like “Streams” which then contains links to other notes, and at some point deep you just use headers. This has the added benefit of automatically creating your mind map in the graph view


That system is very similar to the Kevin’s programming notes. You can replicated it in obsidian.

Link: A Hierarchy First Approach to Note Taking