cmc/cleberg.net

My personal web garden & blog.

clone: git clone https://gitbay.org/cmc/cleberg.net.git

main: content/blog/2022-03-02-reliable-notes.org · raw

  1#+date:        [2022-03-02 Wed 00:00:00]
  2#+title:       Create Reliable Notes with Plaintext
  3#+description: Why I keep my notes in plaintext Markdown, synced across devices.
  4#+slug:        reliable-notes
  5#+filetags:    :personal:
  6
  7* Choosing Durable File Formats
  8
  9#+begin_quote
 10TL;DR (Too Long; Didn't Read): Write in a format that can be easily rendered and
 11read in plain-text mode (e.g., =.txt=, =.md=, etc.).
 12#+end_quote
 13
 14As I've written more and more over the years, I've found that my love of
 15note-taking is always growing. Everything I learn or need to remember can be
 16written down in a note and saved digitally, with no cost to myself. Unlike paper
 17copies that need physical storage space, digital files simply need space on your
 18local disk or cloud storage, which is fairly abundant these days.
 19
 20However, I had a historical struggle with migration of notes between different
 21apps that require different formats and applied proprietary styling. This meant
 22that I had to go through each note during migration and edit the file to look
 23presentable again.
 24
 25For the last year or two, I have written everything exclusively in [[https://en.wikipedia.org/wiki/Markdown][Markdown]]
 26format. Small notes, long-form writings, and even these blog posts are all
 27written in Markdown.
 28
 29Why Markdown? While I do appreciate the simplicity of plain-text files without
 30any formatting, I often need visual cues such as heading and code blocks to keep
 31my thoughts straight. Markdown provides a minimal set of styling indicators for
 32me to style my notes without adding any proprietary, embedded data into the
 33files. If I want a top-level heading, I simply add a hash (=#=) before the line.
 34An added bonus is that even if a system doesn't understand Markdown, it will
 35render it as plain-text and I can read it just as easily.
 36
 37For example, here's how TextEdit on macOS will open and display a Markdown file
 38in plain-text, since it does contain any features to preview Markdown as HTML:
 39
 40#+caption: Plain Text Markdown
 41#+attr_html: :alt A view of the README.md from the cleberg.net repository.
 42[[https://img.cleberg.net/blog/20220302-easy-reliable-note-taking/plain_markdown.webp]]
 43
 44** Saving & Syncing Files
 45
 46In order to read and edit my notes across platforms, I use my personal cloud
 47storage through Tresorit due to its native integration with macOS and iOS file
 48managers. In addition, Tresorit works well on Debian-based Linux distributions,
 49which I used before macOS (and will likely switch back to in a few years).
 50
 51You can use whatever sync software you want - syncing plain-text or markdown
 52files is incredibly easy and fast, since the files are generally tiny.
 53
 54Since the cloud storage syncs files automatically, there is no need for me to
 55sync anything manually or kick-off a sync job to update my files. This means
 56that I can edit on mobile, and it takes about 5-10 seconds to see the changes on
 57desktop.
 58
 59*** Version Control with Git
 60:PROPERTIES:
 61:CUSTOM_ID: version-control-with-git
 62:END:
 63A different approach I've contemplated is storing my notes and attachments is
 64using a hosted Git repository to track changes to the files. However, I don't
 65want to rely on an external service that could potentially see into my data,
 66even if the repository is private.
 67
 68I might just do =git init= locally and then commit my changes each time I write
 69or update a note, but that seems to be a lot of work just for tracking changes -
 70which I don't necessarily care to know.
 71
 72*** Backups!
 73:PROPERTIES:
 74:CUSTOM_ID: backups
 75:END:
 76One small addition to the storage/sync conversation is the idea of backups.
 77Personally, I manually create periodic backups of my entire cloud storage,
 78compress it into an archive, and store it on my home server.
 79
 80To improve my workflow, I am going to be exploring options to automatically
 81compress the mounted cloud directory and send it over to my server on a set
 82schedule.
 83
 84** Writing on Desktop
 85
 86#+begin_quote
 87*Update (06.14.22)*: Since writing this post, I have reverted to simply keeping
 88my =notes= folder open and opening notes individually in TextEdit for a more
 89minimal and relaxing writing experience on the desktop.
 90#+end_quote
 91
 92The bulk of my writing occurs in a desktop environment, with a full keyboard
 93layout and wide screen. I don't illustrate with a smart pen, I rarely use
 94embedded images, and I love being able to see all of my notes/directories in a
 95sidebar.
 96
 97With this simple set of requirements, I chose [[https://obsidian.md][Obsidian]] as my desktop text
 98editor. Obsidian has some in-depth tools like a graph view, command palette,
 99mentions, etc., but I've found that using it as a simple Markdown editor is
100incredibly easy and straightforward.
101
102Here's an example of how my Markdown notes look when opened in plain-text mode:
103
104#+caption: Obsidian Markdown Source Mode
105#+attr_html: :alt Markdown source mode, showing the symbols used by markdown to markup text.
106[[https://img.cleberg.net/blog/20220302-easy-reliable-note-taking/obsidian_source_mode.webp]]
107
108Here's the "live preview" version, where the Markdown is rendered into its HTML
109format:
110
111#+caption: Obsidian Markdown Live Preview
112#+attr_html: :alt Markdown preview mode, hiding all symbols used in Markdown syntax.
113[[https://img.cleberg.net/blog/20220302-easy-reliable-note-taking/obsidian_live_preview.webp]]
114
115*** Programming on Desktop
116
117While I was writing this, I realized I should specify that I don't use the same
118editor for writing notes and for writing code. For programming purposes, I use
119[[https://vscodium.com][VSCodium]] as my development IDE.
120
121** Writing on Mobile
122
123Personally, I write very little on mobile, except when needing to take important
124notes on-the-go. Any long-form writing, journals, etc. are done at home, where I
125always have my laptop available.
126
127I wanted a simple and foolproof editor for iOS, preferably open-source. After a
128long journey of testing the few (& terrible) open-source iOS note-taking apps, I
129finally found a phenomenal one: [[https://github.com/simonbs/runestone][Runestone]]. This app is fantastic for
130note-taking, has plenty of optional features, and integrates natively with the
131iOS file manager.
132
133This app opens the iOS file manager and allows you to click any file you want,
134opens it up in an editor, and lets me save and close out of that note.
135
136Quite simple but effective.