State of My Website December 2019
It’s only been about a month since I’ve had my new domain up and a website created using Hugo, but already I feel like I got a lot done with it. It’s more or less exactly what I want according to the stuff I wrote during the start of my IndieWeb journey, and I think I got a pretty good amount of stuff working on it considering it’s only been a month.
Post Things; Not Pages
Thanks to Hugo’s Archetypes, I’m able to treat my content not as pages of a website but as actual things: Articles, Notes, Check-Ins, Bookmarks, Likes, Photos, and Replies. In the future, should I want to or need to, I can create new things to post.
It’s important to note, in my head, that I’m thinking of content as “Things” and not “Pages” or “Posts.” This allows me to try to think about how to structure the data of the things I’m posting and making it more descriptive not only to people (potentially) but to computers. For example, if I decide to scratch the itch I have right now to replace MyFlightradar24 with something else that’s created by me, I will probably think of the stuff I have not as “a list of coordinates” or “a list of pages with coordinates in it” but as “a flight.”
Structure the data in the right way and my Hugo site (after creating templates)–or any site that can consume my data correctly–can display a map of all the flights I’ve taken in my lifetime (or specific criteria). As an aside, that could be pretty trivial to do since the majority of the hard stuff I’d need to do to show my flights are already taken care of when I made Check-Ins.
Describe Your Data
I’ve deviated from IndieWeb convention when it came to documenting my content. Microformats Wiki’s
h-entry and other kinds of microformats dominate the thoughts of a majority of IndieWeb sites. However, to me, it only describes a single thing. It actually can describe many things and many things well, but I wanted to describe a bit of my data more than what’s provided by it.
Despite it being described as an openwashing anti-pattern, I’ve opted to describe my content in schema.org using the microdata attributes
itemid. This is in addition to using
h-entry. While describing already-described
schema.org is a bit redundant, this allowed me some practice on using
schema.org with my content in anticipation to describing Flights and other Things in the future.
To add some considerations for users of silos like Facebook, Mastodon, and Twitter, I’ve also described my content using Open Graph and Twitter Cards. The rationale for this is to allow a prettier presentation of URLs from my site whenever shared on another silo.
Aren’t You Repeating Yourself?
With the exception of Open Graph and Twitter Cards (they required
<meta> tags in
<head> versus marking up already visible content), I don’t think I’m repeating myself all that often. To be more specific, I am personally describing my data and creating my content once (in a Hugo content file). During site generation, Hugo (as a controller) takes that content and description (my data model) and formats it to the proper views for users (a web page) and for machines (Open Graph, Twitter Cards, Schema.org) using a template (a view model).
While under the hood describing the process isn’t exactly Model-View-ViewModel, it thinks like that to me. The actual outputs may not be the leanest, but currently it still ends up lean and allows my content to be consumed in other ways in the future.
Since I’ve started I’ve always supported receiving Webmentions via Webmention.io, but I’ve never displayed any on my site yet. I’ve finally gotten around to utilizing the API to grab and display mentions on my content.
I’ve also utilized Brid.gy to allow my content to syndicate to Twitter and Mastodon. There’s something magical about how it all works–especially when I started seeing Twitter likes on my posts show up as comments on my site–and really makes me feel like the IndieWeb method of doing things is a much better way of communicating with others on the Internet using content.
Itches Still Need Scratching
Despite all the work I’ve done on my site thus far there’s still quite a few I want to scratch:
Create A New Thing: Flights
MyFlightradar24 is currently what I’m using to log all my flights for work and for play. This isn’t a requirement of my job, but it’s more of a way to keep track of this relevant data and do useful things to it. There’s a bit inertia to changing out, but I’d like to hold on to this data instead of trusting that it’ll remain forever on another silo.
I’ve started a new branch that I’m working on to eventually allow me to get all my data out of MyFlightradar24 and process it through Hugo to display the same data on my site. The hardest part is already finished; the annoying part is just writing out the templates and getting my data out of MyFlightradar24. Worse case I’ll need to manually write my flights into content files. But at least after I’m done with that I’ll own all my flight data information.
Automate Some Things
Hugo is fast. It’s very fast. But the way I’m doing things is currently not. These are the things that I still manually do for my site:
- Have Hugo re-generate my pages when presented with new data
- Grab new Webmentions
- Get fallback map images for my check-ins
- Push my updated pages to my static site hosting service
- POSSE my content to Twitter and Mastodon using Brid.gy
- Send Webmentions to other sites
When I’m on my computer, these aren’t problematic, but because of the steps it certainly influences my behavior (i.e. Do I really want to Like or Reply to this thing right now?). On my phone the process is the same, except all done in Termux, and ergo the time considerations make it unacceptable to interact with content in a Right-Now fashion.
Unfortunately, because of what I’m using right now (mainly that my host only serves static sites), I don’t even know where to start about scratching the automation itch. But eventually I’d like my sharing content with people and interacting with people’s content to be as easy as using a silo’s app. That’s not where I’m at right now, though.
A Search Bar
Personally? I can’t remember ever using a site’s search bar ever. Most of the time I end up going to my search engine of choice and searching for something. However, it does state that people appreciate having a search bar on a site, so I guess I better add that.
A Bar to Send Webmentions
This is a better thing that I should start putting on my posts, just above the comments. It allows someone to just put a URL of something that mentions me and sends my Webmention endpoint a Webmention. Other IndieWeb sites have done it and I think it’s a good thing to have–especially since I’m not providing any kind of native or third party commenting (well, except for people who comment on my POSSE’d content on Twitter/Mastodon)
Here’s to December!
I’m hoping that I end up creating more content than working on the website in December because I should actually start just using what I’m making. But no doubt I want to get at least one or two of these itches scratched. So, for now, a pat on the back for me with a warm and fuzzy paw; I think I accomplished quite a bit in a month!