My long, winding path to Markdown notes nirvana
For years I’ve been looking for a cross-platform markdown editor. There are several good ones out there, but several are not free or they’ve got built-in workflows that I would need to either adapt or fight against.
For the last several years my notes have consisted of a single directory of markdown files.
I sync these files to various machines with Nextcloud. What I wanted was a way to manage them and perhaps link amongst them, almost like a wiki, which I used previously, but again found myself fighting with different implementations of Markdown and note portability.
After settling on Typora for a long time, I found it to be an excellent Markdown editor and it handled my single directory of files well with a built-in file explorer.
After a few months I received a suggestion from a friend at work to look into Obsidian. After trying it out for a bit, Obsidian quickly became my favorite editor. It’s free, robust and has a large community.
There are tons of themes and plug-ins and I was able to create links between notes and insert images with ease. The table plugin is a dream for anyone who messes with Markdown tables. It’s also cross-platform and I was able to access and update my notes from both my home Linux machines and my Windows work laptop.
Obsidian has a pretty fast release schedule and they are always adding new, exciting features. In July of 2021 Obsidian dropped their mobile app. Now, I had always accessed my notes via the Nextcloud Notes app since I started keeping my notes in Nextcloud, but I was aware that the app is a bare-bones editor that is good for quick edits or reading, but not as much for creating or managing notes. I thought the Obsidian mobile app might be the solution to finally having full access to my notes everywhere I went!
Unfortunately, note syncing within the Obsidian app was only available (at the time) via a proprietary (paid) file-sync or some kind of roll-your-own (but not any of the big cloud providers like Google Drive, OneDrive or Nextcloud.)
At this point I started thinking about the dangers of locking myself into a single system from which I may never escape. Portability and the ability to use my own (preferably open-source) tools to manage my notes is the reason I never seriously considered options like OneNote or EverNote. While I continued to use Obsidian without the mobile app, I started considering the possibility of an alternative.
The entire time I was using Obsidian, I was also trying to wrap my head around using VS Code for system administration. VS Code is an open-source, cross-platform editor for programmers. It also has a huge, rich ecosystem of plug-ins and support. But I am not a programmer. Apart from a series of convoluted shell scripts and some random HTML, I was trying to use VS Code to manage git repositories on multiple machines while writing Ansible scripts to automate administration tasks.
So one day I took a deep dive into the vast extension collection and found some ways to manage Markdown in VS Code. Then I found a spell-check extension. I figured out the basics or workspaces and opened up my directory of notes. Hey! I am able to edit and manage my notes from VS Code! But there were a lot of features missing. This was not going to replace Obsidian. But it was nice to have an option.
After swapping back and forth between Obsidian and VS Code, one day I found this article: Suping Up VS Code as a Markdown Notebook. He had managed to come very close to my use case taking notes exclusively in VS Code and had incorporated most of the features I missed most from Obsidian!
So I began figuring out how to duplicate my most-wanted note features in VS Code.
Since July of 2021, I have been using VS Code exclusively to create and manage my notes. I still use the Nextcloud Notes app for mobile access, but that’s never been a big problem and the app keeps getting updated so you never know when it might get more features!
VS Code Markdown Notes
TL;DR: Just tell me what to install!
If you just want to have a nice editor for markdown notes, these extensions should get you there. Any modifications to default settings are included below the extension link.
Extension List
vscodeMarkdownNotes.allowPipedWikiLinks: true,
vscodeMarkdownNotes.compileSuggestionDetails: true,
vscodeMarkdownNotes.slugifyCharacter: NONE,
vscodeMarkdownNotes.lowercaseNewNoteFilenames: false,
vscodeMarkdownNotes.newNoteTemplate: ---\\ntitle: ${noteName}\\ntags: [ ]\\n---\\n\\n# ${noteName}\\n\\n## Summary,
vscodeMarkdownNotes.noteCompletionConvention: noExtension
markdown-preview-enhanced.codeBlockTheme: atom-material.css,
markdown-preview-enhanced.previewTheme: monokai.css