Post reorg done! And topic shenanigans.
So, following up on this post, things are a bit re-organized!
It was a little more convoluted than I anticipated, because in the process I decided to re-think my data model a bit and flesh out how topic “entities” work, since I was making the ”Blog” topic a more prominent one.
Collectioneering
I‘ve got a bunch of “tags” (in both 11ty and Obsidian parlance) for my posts and many of my links. By default, 11ty puts these into a per-tag “collection”
You can do things like “blog posts” or whatever with collections, but it felt cleaner in my head to decide that tags are exclusively semantic, not structural. In other words, if I'm going to treat topical metadata as a “thing”, I don‘t want to muddle that by pretending that “link” and "post" are topics—they're distinct shapes that information can come in, and that shape is orthogonal to the topics the contents touch on.
With that in mind, I‘ve doubled down on the ”entity” formalization that I was already kinda gunning for, with the current entities being post, link, and topic. And I decided that 1) I‘m using 11ty/Obsidian‘s “tags” as the method for adding topics to stuff, and 2) tags shall only be used for topics, not to make any other kind of collection (like ”recent posts” or ”hottest links” or whatever).
Using “tags” and “collections” interchangeably is kind of an idiomatic 11ty thing, so I'm probably really hobbling myself on the implementation side and this might spiral out of control. But I‘ll burn that bridge when I cross it or whatever.
What‘s new?
The actual public-facing changes are:
- As I told myself I would do, “Posts” is gone from the nav bar, replaced with “Blogs”. I've scattered some links around to get to posts, though (and also, it‘s real easy to remember the URL, each “entity“ list is avalable at
mostol.dev/{entity}/, so you can find it at/post/.) - The topics page actually automatically fetches all the topics now! They all have their own auto-generated page that lists out all associated links/posts. This is way brittler than I wanted, but hopefully I‘ll clean it up later. It has some ruddimentary support built for custom topic pages (“Blog” is the only one right now) in case I want to explain more about what a topic is intended to cover.
And actually, come to think of it, “blog” is not a topic, it‘s a classification of posts, so I‘m already breaking the rule there. Huh. Welp, future me will have to figure that out I guess.