60 lines
5.8 KiB
Markdown
60 lines
5.8 KiB
Markdown
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.
|
||
|
||
At home, I sync these files to various machines with [Nextcloud](https://nextcloud.com/). What I wanted was a way to manage them and perhaps link amongst them (almost like a [wiki](https://www.dokuwiki.org/dokuwiki), which I used previously, but again found myself fighting with different implementations of Markdown and note portability).
|
||
|
||
After settling on [Typora](https://typora.io/) 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](https://obsidian.md/). 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 2021 Obsidian dropped their mobile app. Now, I have always accessed my notes via the [Nextcloud Notes](https://play.google.com/store/apps/details?id=it.niedermann.owncloud.notes&hl=en_US&gl=US) app, but I was aware that the app is a bare-bones editor that is good for quick edits or reading, but not for actually 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](https://code.visualstudio.com/) 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 of 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](https://kortina.nyc/essays/suping-up-vs-code-as-a-markdown-notebook/#note-navigation-with-wiki-links-and-tags-using-my-vs-code-markdown-notes-extension). 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 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. My modifications to default settings are included below the extension link.
|
||
|
||
### Extension List
|
||
|
||
* [code-spell-checker](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker)
|
||
* [markdown-all-in-one](https://marketplace.visualstudio.com/items?itemName=yzhang.markdown-all-in-one)
|
||
* [markdown-extended](https://marketplace.visualstudio.com/items?itemName=jebbs.markdown-extended)
|
||
* [markdown-emoji](https://marketplace.visualstudio.com/items?itemName=bierner.markdown-emoji)
|
||
* [markdown-to-confluence](https://marketplace.visualstudio.com/items?itemName=t-nano.markdown-to-confluence-vscode)
|
||
* [vscode-markdown-notes](https://marketplace.visualstudio.com/items?itemName=kortina.vscode-markdown-notes)
|
||
```
|
||
"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](https://marketplace.visualstudio.com/items?itemName=shd101wyy.markdown-preview-enhanced)
|
||
```
|
||
"markdown-preview-enhanced.codeBlockTheme": "atom-material.css",
|
||
"markdown-preview-enhanced.previewTheme": "monokai.css"
|
||
``` |