Context
I’ve been using a sentence diary for years. It’s come in many forms:
- a notepad, which I lost after a move and lost several months of valuable context
- Google Keep (yeesh, see my DeGoogle’ing my Life post)
- Daylio, a convenient Android app meant for this, but it’s only an Android app and has no desktop client, plus it costs (a reasonable) fee per year for some features I wanted
- Obsidian, which has been pretty fantastic so far! I’ve combined my sentence diary, my personal notes, some logs, and my to-do and grocery lists here! Everything is just Markdown files internally, meaning even if Obsidian catastrophically fails tomorrow or I get tired of it, my files are still available on both my phone and computer to move to another platform!
As a result of using Obsidian as a second brain software, I wanted all my old sentence diary entries in there as well.
Migrating
One of the most magical things about programming to me is the ability to take a common task and make it nearly instant. I spent about half an hour on this project, and saved myself probably hours of copying and pasting from a CSV, reformatting, and making new files in Obsidian.
I keep a pretty specific structure in Obsidian (e.g. today’s note would be sentence diary/2023/07-July/2023-07-29-Saturday.md
), so I wanted a way to programmatically create those directories with month names and file names with day of the week as well.
Results
I was able to write a script to migrate all of my entries from Daylio (exported to a CSV with date, weekday, mood, activities, and a full note) to my sentence diary format with a summary, mood and activities, and tasks today section. I could extend this a little farther out and format it nicer, but I really just wanted to have the important part (the note body) under the summary for my migration to Obsidian.
Final Notes
Funny enough, after doing this exercise, I found someone else had done a similar project. Mine is a little more fine tuned to my own needs while theirs is a little more general! Both of us make big assumptions around how someone might want to structure their notes, and I think both make tradeoffs in legibility and extensibility to do so.