I’m finishing up my move from Notion to Obsidian and one complexity I encountered was all my saved links. In the almost seven years of using Notion, I amassed a ~1.2 GB database of links. This is because of how the Notion Web Clipper creates a backup of the article and its assets. While this is gold to an internet archivist… I really only use this feature to sneak around paywalls. Moving to Obsidian gave me a chance to rethink my link collection process and along the way I figured out how to make an automated Link Aggregator that I could parlay into a newsletter-like blog post.

Step 1: Install Obsidian Web Clipper

The first step was to capture links. I had looked at creating a custom bookmarklet, but as I rolled this out across my iPad, iPhone, personal computer, and work computer, the foundation wasn’t sturdy. If I made a change in how I wanted it to work, I’d have to manually edit half-a-dozen JavaScript bookmarklets. The path of least resistance was to embrace Obsidian Web Clipper, the community standard browser extension for this sort of task instead that is available in all browsers.

The Obsidian Add Item Popup window with fields like title, tags, description, and published date

Obsidian Web Clipper actually solves a long-standing issue I had with Notion Web Clipper, I couldn’t add tags in the “Add Item” workflow, you had to bounce out to the app and manage it there. Obsidian Web Clipper let’s you add tags right there in the “Add Item” window. But it’s not all roses because Obsidian will always bounce you out to the application for saving. Weirdly –because it’s the same as what I didn’t like about Notion– I don’t mind this in Obsidian because it gives me a chance to review the content I’m digitally hoarding.

Obsidian Web Clipper will also scrape the text, which is handy for retrieval later, but critically it doesn’t save images and hotlinks to the production assets. This might upset archivists, but as someone who doesn’t want a 1.2 GB link database again, I welcome it.

I know AI is a controversial topic, but this is one place I would welcome an LLM to summarize articles and provide some bullet points for reference later. Perhaps a short list of other publications that have referenced this article as well? I’m spit-balling, but I don’t need scraped text, what I need is something to jog my memory.

If I had more time, I’d grab some quotes I found interesting and do like Jim does and add my own thoughts and notes as a response. Are “reaction blogs” a thing? I guess they are.

The Obsidian Web Clipper Settings page where you customize the fields you want to see for your link template

The one change I make to the Default template is to remove some fields and set my default Note Location folder to “Inputs/Links”. This is unique to how I have my vault organized (more on that later), but links are easy to accumulate and I find having a dedicated bucket for them will save you cognitive load later.

Step 2: Write a brief summary

My link aggregation process has one mandatory process step: Write a brief summary. A short tweet-length description of why I found this link interesting or useful. This is akin to the “WHY?” column in a database that we’ve been discussing on Shop Talk this year. Why was this link cool enough to collect? Why did I find it interesting? What were my thoughts?

Actual human thoughts are becoming a valuable commodity these days.

In Obsidian Web Clipper there’s a description field that by default grabs the document description meta tag. This is not useful most of the time, but can give you some text to shape if you’re in a hurry.

Step 3: Generate a DataView

The last step is to create a New Note called “Link Aggregator” to generate a list of links I can copy over to a Markdown file in my blog. To do that I use the Dataview plugin, which allows you to use an SQL-like query language to generate a LIST or TABLE of content based on your query.

```dataview
LIST WITHOUT ID elink(file.frontmatter.source, file.name)+
                ": "+file.frontmatter.description
FROM "Inputs/Links"
WHERE file.ctime >= date(today) - dur(1 week)
SORT file.name ASC
```

There’s a lot to Dataview, but this query will generate a list of external links from my Links folder that I added within the last week. Now I can slurp up those links and put them in a blog post or newsletter.

Process-wise, I have to copy the Dataview-generated list into a New Note in Obsidian because copying the text from the Link Aggregator page to my blog pastes the Dataview query. Creating a dummy Note isn’t ideal but at least I have a workaround. I’m sure I’m one plugin away from being able to export markdown from a Dataview query.

Happy Aggregating!

Like other ideas in my life, I’ve tried to make this as low-effort as possible or else I won’t do it. I think I have a system in place that allows me to do what I was already doing (collect links), but a more efficient and effective way to do something I want to do more (share links). If this is useful, feel free to steal this idea and make your own aggregator.

The Web is a network of content, let’s build the network. Blogs linking to other blogs are the best blogs, let’s not lose that part of blogging. We are in algorithmic content bubbles looking at different Internets, let’s pop those bubbles by sharing what we find in our Internet journeys.