I have settled on a structure for my note taking system. It is simply this:

  • Each note is a Markdown file. .md extension is preferred.
  • Notes reside in a top level folder. Let’s call the top level folder a vault.
  • There can be sub-folders that help categorize the notes.

This simple structure allows maintaining a personal knowledge management system with only a text editor. This is the same kind of structure that static site generators use.

Note: See the parent document: Using the Terminal as a Daily Driver for more terminal productivity applications.

nb

I may have just found a great tool in nb (stands for notebook) that meets the simple criteria and includes much more. To get the most out of nb you will need to spend time in the documentation and experimenting with the program.

Installed with brew install xwmx/taps/nb. This also installed several dependency and helper applications, along with tab completions for various shells (fish in my case).

Setting the default location

The default location will be ~/.nb. Don’t want that in my home folder, so I used the command nb settings set nb_dir ~/.local/share/nb to place it in a more convenient spot.

The configuration file is named ~/.nbrc and can be updated from within the nb program with the nb settings edit command or by editing the ~/.nbrc file directly.

Thoughts

nb may be a great tool for keeping project specific notes in a project folder. That is an interesting avenue to pursue. To create a local notebook in a folder use the command nb notebooks init.

This program is much more in depth than I first thought. Has options to do versioning and syncing with git, encrypting notes, and much more. One exciting concept is the ability to convert notes into an EPUB ebook.

There is also the ability to browse the notebook in a web browser interface. The first, nb browse uses a terminal browser (w3c) and nb browse --gui will launch your default GUI browser.

Questions

Can nb share a vault with Obsidian? It appears so. nb adds a hidden file in the directory, but that doesn’t seem to have any negative impact.

Can the editor used to edit your notes be changed? Yes! Use the command nb set editor hx to change which editor. I like it!

Does nb support multiple notebooks / vaults? Yes. nb notebooks add work will add a new “work” notebook. The nb use command can switch between notebooks.

nb documentation is extensive and explains all the options. To be effective with this app, you will need to read the docs. This could easily be a daily driver application.

Helix and Markdown

Marksman and Markdown Oxide may have features that overlap. Since both of these are configured in my Helix configuration, that may be a mistake. Should probably play around with each by commenting one out to get a better feel of the capabilities of each one.

Definitely able to work with my Obsidian vaults by just using a text editor. This can be done with any editor of your choice.