veryth.ink - Astro edition

/update

Announcing the re-launch of my personal website and blog using the new (to me) web framework, Astro!

by Chris Renfrow

My personal website has existed through various forms over the last 8 years, and now I’ve put it through another transformation! But how did I get here?

A brief history

2016 - The Ghost Era

On September 29th, 2016, I added my very first commit the repo hosting the front-end of my Ghost blog. I didn’t really know what I was doing then, in fact, I hadn’t even really internalized what a CMS was until last year (yeah, really), but hey, I had a website!

2019 - The Gatsby Era

January of 2019, I decided to try using Gatsby as an attempt to learn more React and front-end web development. This didn’t last long, I ended up archiving the repo less than a year later. At the time I felt Gatsby was just a little too complicated for me.

2020 - The Zola Era

I had decided during this time that web-dev was something I wanted to avoid, or at least not have to think about when writing (of which I had done remarkably little). So instead I opted to try out a simpler static site generator called Zola in October 2020.

It wasn’t until I began my attendance at the Recurse Center (#s1’22 and #w1’23) that I really started writing in my blog, and I attribute a portion of that to the simplicity of using Zola.

2024 - The Astro Era

In the last year or so, I’d begun to come around on my relationship with web-dev (taking on a couple of web-dev gigs helped with that) and as such began looking for opportunities to expand my experience. Astro entered my radar sometime in 2023, and on September 17th, 2024 I began work on this site in its current form.

What Astro is, and why I’m using it

Astro combines elements of static site generators and popular web-frameworks into one very easy to use package. Even with my brief experience in web-dev, it felt like everything was very familiar.

Admittedly, I was a little conflicted by my choice to adopt a new web framework. When I had first heard about Astro even I had begun to feel the web-framework fatigue. I passed on it then, only to come back to it months later with renewed interest. As I read through the documentation, I realized it wasn’t the bloated monster I had conjured in my head, but actually a slick and unobtrusive framework that aligned with my values. No JS by default, static by default, opt-in complexity, etc.

Fueled by curiousity, and a desire to be a responsible professional in vetting potential framework options for future clients, I decided to give it a go in building something “from scratch” with the framework. Apart from a very minor snag I encountered with routing, everything came together rather smoothly.

Ultimately, I decided to use Astro not because I thought it would be around forever or that it was the “best” option available, but because I felt I would enjoy the experience and learn from it, both of which proved true!

what changed?

From the perspective of writing new posts, and the presentation of those posts, very little has changed. But everything in-between has been altered significantly. Astro provides the framework and API(s) to build my content into the website you see before you. I provided the structure, styles, and configuration to emulate the old Zola site and the features I had begun to appreciate (per-taxonomy RSS feeds, for example), including a few other niceties.

One of those niceties has been opting to use MDX over plain Markdown. I had begun using Zola shortcodes in my posts as a shorthand for things like responsive images or fancier block-quotes, which worked just fine, but were somewhat limited. Now with MDX I can use JSX-like syntax to import and use Astro (or even Svelte!) components to render more advanced elements. Is this just introducing needless complexity? Maybe. But complexity can be fun, in moderation.

Closing thoughts & next steps

I’m proud of what I was able to accomplish here. In less than a month (and 74 commits) I built this site up from the Astro base template, to a drop-in Zola replacement (for me, anyway)! Astro of course provides the framework and API(s) to make it happen, but that doesn’t really diminish what I managed to do with what I feel to be little web-dev experience.

As for next steps, I’ll keep writing, tinkering, and most importantly, having fun! This is my space to experiment, and express myself in the ways I know how, and I want to continue to do that. And while I don’t think there’s anything inherently wrong with writing about one’s elaborate blogging setup more than they write about anything else, I’d like to actively move away from that trend and write more about other topics of interest (with one or two meta posts, as a snack).


If you have any questions or comments about this post, or if you’ve found an issue, please feel free to email me at dev@chrisrenfrow.me, or submit an issue here!