This is a script that runs automatically whenever I push to the coolguy repo and generates the updates/ and rss/ pages.
Its intention is to offer a low-effort, highly-custom way to share all my coolguy updates.
Why I made it
I want to live up to /versionIII of coolguy and practice abundant, chaotic creativity. This is easy-ish to do in private–being abundantly creative into a journal you keep in a top drawer–but a big point of vIII is to share the stuff I make. I found this easier at the start, proudly sharing a rudimentary html page that listed 5 movies I wanted to see. For whatever reason, the better I got at coding, the harder it was to share. I wanted a return to the easy sharing of meaningless pages.
I also noticed a big change in my own excitement in the site. At first, it was a way of sharing my words in a way I hadn’t experienced before. I found myself as excited about writing new code to support these words. I feel equally creative writing out code as I do this personal writing…I’ll spend an evening tending to this site, but it’s in ways that are invisible. I wanted to share these changes too.
The grand idea…an RSS feed
One of the most consistent ways to share updates is with an
feed. Many blogging sites have a feature where the site’s RSS feed updates automatically whenever you write a new post, but that type of concept wouldn’t work for Coolguy… For one: I don’t have posts, or any sort of set structure to the site. Too, I wanted to share the “content-free” updates to the site, whether it’s a script I wrote to display the moon, or if I added interesting CSS to a page, or when I do write an html page of five movies I’m excited to watch.I needed something that gave complete control over the type of updates that went into the feed and how I linked to them.
The Proto Taglog
For my first attempt, I had a command line spell that read from a text file I maintained of updates and converted each line into an RSS feed item. It also generated HTML that I inserted into the “updates” section on the /home page. The main problem with this is that I kept forgetting to use it! Instead of being a tool that fit within my existing workflow, it had a whole new process that I had to remember to do. Often I’d finish some project, get it up online, and feel too exhausted to then write an update. I needed something that was part of my existing flow, where updates were sent out with little effort.
Git magic
I use
to track changes to all of coolguy, and to update the server that hosts coolguy. I like the rhythm and diligence of working with git, that you have these discrete moments of time in the site that are recorded in a history that lives alongside everything else. It’s like having a doorjamb filled with the heights of all the children of a home.The Tags
Within git there is a tag feature, which is a big, explicit marking of a moment in the history of your work. Each tag is given a special name, and you can annotate the tag with an arbitrary amount of notes.
Since I already used git, then the git tags would be a natural fit for my shareable updates. I could have them be formatted however I wanted and, as a bonus, the forge I use creates a zipped archive for every tag. So now someone could have RSS updates and the ability to download the archive of my site at any time. I don’t expect anyone to do that, but the idea of it is charming and mystifying to me.
My hope is that I don’t notice writing updates, but they come out as regularly as I am on this site, and that a rhythm is established that carries me for the next several decades (basically until something better than
comes around, if that ever happens.)