Lately, I've noticed quite a few folks I follow are getting back to basics with writing articles on their own sites, rather than as part of something like Medium. Most are developers, so it's also a great excuse to learn some new tech. This is a great time to build small, fast, static sites that can be hosted nearly anywhere.
The previous incarnation of my site ran on Wordpress, and while I love WP a lot, it felt like a chore to keep up with for a personal project. Custom theming, plugin upgrades and database migration for local development were just a few things that put me off spending time with it. And as a result, it's been largely collecting dust for an embarrassingly long time.
The "old" site.
The old site also had a bit of an identity problem. It was almost solely focused on my art, so it got to the point where anything non-art-related just felt out of place. I hesitated to post articles about web development or anything else, thinking the (very) few visitors I got wouldn't be interested. I didn't want the site to feel disjointed, like it didn't know what it wanted to be.
But you know what? That describes me to a tee. I'm interested in so many things, but still have no idea what I really want to be. Am I an artist? Yes. A web developer? For the last 23 years, yes. And starting a couple years ago, am I a woodworker? You bet. And rather than have five different blogs that are singularly focused on just one of my interests, I've decided to just throw it all in there. After all, this is a blog written by ME. Hopefully anyone stumbling onto it will pick from it what they want, and not be bothered by the rest.
So that's it. Things will be pretty random for a while, but hopefully I'll find the right voice and start posting often. Keep reading for the technical mumbo jumbo about how the site was built.
The Making Of...
As I said, I was running Wordpress for quite a while, and wanted to strip things down. I'd stuck my toe into the Medium pool, but it just wasn't for me. As a developer, I like more control over my stuff, and I hate having my content beholden to some big company who could fold overnight. I think there's a coming revolution of creators who insist on owning their own content.
At the same time, I didn't want to completely reinvent a wheel. This is still a side project and time is scarce. So I looked into a few of the popular static site generators. Gatsby is one that a lot of folks are going to, but it's also built with React, which I never really picked up. Vue.js is my jam, though, and there were a couple options that I could try out. One was Nuxt, which I have used, but actually felt like overkill for just a small blog. But then I stumbled onto Gridsome, which seemed to be perfect, and very similar to Gatsby.
I first started off using a "starter" project that was already set up for blog posts, tags, etc. It also used a CSS library called Tailwind, which I'd seen some devs talking about, so I figured why not try it. That was a mistake.
No offense to Tailwind, as I think it does what it's supposed to accomplish, which is offering a huge array of helper and utility classes you can add to plain HTML markup to quickly put together a site. But the more I continued with a basic UI, the more the classes piled up. After a while, it was just too much. I gave it a good go, but I'm a front-end developer after all, and I just had to ditch it for my own code.
These are just the classes used for the 404 page. Yikes.
So I dove into Sketch and laid out a super basic template and had the custom Sass written in a weekend (and had a lot more fun doing it).
So far, I'm really liking Gridsome. As with all things, it's not without its quirks and little frustrations. But I've no doubt it'll keep getting better. And now I can easily type up a simple article in Markdown and publish it quickly.
For hosting, I've decided to use Netlify. For as small as my blog is, it can easily run on their free tier, and their tools for deployment are just fantastic. The code for the site is all managed at Github, and I've created a deployment hook that, on each commit to master, will push changes to Netlify. The project's build process runs and the static files are generated and ready to go.
So that's it. Hit me up on Twitter for any specific questions about the setup.