Speeding up my Learning Log process
Dave’s blog post “How to make a Link Aggregator in Obsidian” inspired me to finally make my Learning Log process a little smarter, starting with the May 2025 log.
What I had been doing
- Automatically syncing my Reader by Readwise highlights into Obsidian
- Going through the new articles manually and adding them to my blog post Markdown (also written in Obsidian)
Obsidian enables you to customize to the nth degree, so I figured there was a better way to do this but hadn’t made it a priority. Dave’s post showed me I could do this pretty quickly!
Enter Dataview plugin
I’d already installed the Dataview plugin for Obsidian for one reason or another and ended up writing a DQL query very similar to Dave’s:
LIST map(rows, (r) => elink(regexreplace(r.file.frontmatter.url, "\\?utm_.*", ""), r.title))
FROM "Resources/Readwise/Articles"
WHERE file.frontmatter.highlightedDate >= "2025-08-01"
AND file.frontmatter.highlightedDate < "2025-09-01"
AND file.frontmatter.url
FLATTEN file.tags AS tag
GROUP BY tag
SORT file.frontmatter.highlightedDate DESC
What this query does is:
- Pull all the articles I highlighted in a given month from the directory where I’ve synced my Readwise articles. It filters out any articles that don’t have a URL in the frontmatter, i.e. email newsletters.
- Group the linked article titles by the tag I applied in Reader.
I copy and paste this query into my blog post draft, update the tag groupings to be headers, and hand-curate the list a little further. I could use Dataview JS to structure this in a fancier way and skip some of this manual bit, but I find it’s worth slowing down at this curation stage.
You’ll notice I do have dates hardcoded in here as well. As we all know, the hardest problems in computer science are:
- People problems
- Naming things
- Wrangling dates
I kept getting weird errors and issues with data handling, so decided to just throw up my hands and enter the dates manually. I only have to update them once a month, and so this XKCD comic seemed apt.
In any case, this was a nice little quality of life update for my blogging process, and I’m now playing with all things Dataview in my Obsidian notes!