Skip to main content

Building This Site

Hi friends. Today I want to talk about how I built this site. Its going to be ~a bit~ fairly technical and down in the weeds. So if that's not your jam, maybe dip out and check back in another day.

Ok, for those still around, for my own records, and for anyone who might find this, I wanted to actually document what tools are powering this site. Its not the first one I've built with the stack, and its unlikely to be the last. Since this is a bit of a journey, lets break it down in to a few parts. Why, What, and How.

Why

So, first, the why. What drives my selection of tools? Mostly, a combination of "thigs I already know how to use", "things that need very little maintenance", and "things that interest me / I can hack on as desired".

As an ADHDer, I have a lot of interests. Usually, its an intense interest for a small amount of time, fades, and if I'm lucky circles back. Those facts about me really feed all three of the big drivers. Knowing how to use the tools means I can jump right into what I'm doing, and spend less time figuring out how to do it. That helps both get to the point and also keep from me getting distracted. Things that need little to no ongoing maintenance means that when I inevitably move on to something else, thigs thing just sitting here isn't going to bit-rot and langusih. And, the tools being interesting (and, something I can modify as I see fit), means that I can stay engaged longer, get more out of them, and generally be more satisfied with the results.

What

All of that led me to choosing a static site genrator to power this project, and many others. These are tools where you write in somthing very close to plain text (in my case, its markdown), and its "complied" into HTML, all the links are built, all the bits and bobs are made, and the prettyness added. But, no database or application servers needed. Just HTML files (+ JS and CSS files as needed) that get dumped onto any old webserver.

From there, I looked for one that was based on tools I am already familiar with (this allows me to get in an "tinker", which I am ever so fond of). That landed me on Nikola. Its python based, has a good community, is fairly simple (for me, at least) to get up and going, is easily extensible (I've written a few custom plugins over the years, as well as custom short-codes, and other things) and customizable to my liking.

How

And finally, the workflow. Once the site was setup, following their Getting Started Guide, creating new posts is as simple as writing a markdown file, running a build command to preview it, and a deploy command to push it up to my existing webserver.

As for actual file editing, I've been bought into Vim for close to 20 years now. I don't think its explicitly better than any other tool for the job. But it is the one I know and have spent the most time with. Recently, that includes moving to a modernized fork called NeoVim, coupled with a wrapper called SpaceVim. This gets me an editor that's as powerful as most modern IDE's, while at its core still a tool that's older than I am.

I'm not suggesting that any of this is reasonable for general audiences. But, it leans heavily into my existings tools, skills, and habits. That reduces the friction enough that I can actually make a go of this blogging thing, again.

Well, I guess that's it. A short overview of my tools, and how I landed on them. I hope someone found this at least a little interesting.

See you out there.