/home

Tue, 21 Apr 2023

Simple note taking process and tools

General thinking remains paper based or whiteboard based.

My note taking is just a plain text storage strategy.
Write in markdown with vscode.
Save and sync with git.
I strongly segregate work notes in a dedicated process.

Thinking

Thinking is still paper based or whiteboard based.

See The One-Minute Rule for 'Thinking on Paper'.

Simple stupid syncing

When editing content, the repo is synched thanks to sync.sh.

It has been ripped from this blog.

Visual Studio Code setup

Automatic syncing

For those that are using vscode only, the GitDoc plugin provides automatic commits on change.

It's an alternative whenever shell scripting is not available to support the basic syncing approach.

I prefer the basic approach. GitDoc commits are too fine grain for me.

Timestamp

The Insert Date String extension provides the necessary commands.
I use a full date and time representation: DDD, DD MMM YYYY hh:mm:ss ZZZ by editing the insertDateString.format in settings.json.

FYI: the default CTRL + MAJ + i shortcut to insert the full Date Time may be overrided by the overtype extension.

Rewrap extension

It rewraps the text to the specified wrapping column thanks to the Atl-Q shortcut.

Markdown All In One

I like it for the table of content feature. <!-- omit in toc -->

Styling : https://cdn.jsdelivr.net/gh/dhdhagar/vscode-md-preview-light/style.min.css

https://marketplace.visualstudio.com/items?itemName=shd101wyy.markdown-preview-enhanced

Markdown metadata

I now use YAML Frontmatter metadata, which uses a YAML region at the begining of the .md file separated by three (3) dashes.

---
Title: Some Title As You Like
Author: Jean-Pierre Dupond
Date: 2017-05-12
---

It's one of the strategy described in Markdown metadata format post on Stackoverflow.

It it does not work with your note taking tools, you can still use the following alternative strategy which is a mix of YAML key-value syntax, hidden using Markdown's link references where the dash (-) is replaced by a hash (#) to avoid linking to a non-existent page.

Depending on your strategy, it is possible to write them at the beginning or at the end of the .md file

[//]: # (Title: My Awesome Title)
[//]: # (Author: Alan Smithee)
[//]: # (Date: 2018-04-27)
[//]: # (Comment: This is my awesome comment. Oh yah.) 
[//]: # (Tags: #foo, #bar)  
[//]: # (CSS: https://path-to-css)  

More complex note taking strategies or plugins

I've not studied them a lot.

They try to provide solutions to note scaling (organization, consistent linking, etc.)

I've not been overwhelmed by the volume of my notes yet, but it's interesting to know that two main problems are notes oranization and navigation, and as a consequence maintaining consistent and correct links between notes.

Maybe the solution would be more about having a link checker script rather than over-think and over-design the strategy for both the organization and links.

Files would simply have a unique name on the entire repo. Long names are not such a problem nowadays.

Zettelkasten Method:

Foam:

Dendron: