When you decide to make a blog
Published June 2022 - Stephen Moore
Seems all the cool kids have a blog, so let's go make one of those!
First step of course is to figure out the technology because for me the point is less about actually writing posts and more about playing with my computer. I'm under no illusion I'll post to this with any kind of frequency. (or at all?)
Where to start
Obvious place to start is Hugo but I wanted to first see if there was anything out there that would give me some fancy WebGUI and so I spent quite a while hunting down a unicorn
There are things that exist for this purpose but they aren't particularly good. I imagine there's lots of really cool stuff on those backends, but the frontend is what I care about and they all had that feeling of a WYSIWYG in that it's only great if you're not familiar with a text editor, otherwise it's quite limiting and awkward
For example, take Netlify CMS which is nice in that it tries to also integrate with github so you still get the nice things we get from git. But it's UI doesn't add anything to what I get from writing html. Also I couldn't get it to work and it played a pattern I saw with several things where the template has so much stuff in it at varying levels of maturity that some of it is just broken
Plus that usual JS problem where you realise you need some feature in a version of something that is just plain incompatible with everything else
I was also hampered by trying to learn 5 new web technologies at the same time and cloning a random template and trying to change it is an awful way to learn something!
What I already had
Looking at the commit history for the code that sat on delfick.com I decided around June 2020 that I should probably revamp my resume. So I went on a Journey of making it so I could generate static html using webpack and react. What I made was pretty cool. I used yaml to have the content of the resume and then used react to turn that yaml into html and then webpack generated static HTML.
It wasn't till July 2021 that I actually went about writing that content, but it was very helpful to have the infrastructure there!
So When it came to writing a blog I decided to put that in a separate repo and then make netlify serve /blog as this new repo. This turned out to be way more annoying than I anticipated because the frameworks I was trying to make work really didn't like me trying to make it serve from /blog. But I did get it to work eventually.
I ended up using Svekyll which is a sveltekit project that behaves similar to Jekyll. At this point I hadn't come across svelte before, or tailwind, or vite and that was a bit much for me to take in all in one go.
So I ended up giving up on svekyll because I couldn't quite figure it out and I used svelte, vite and routify by themselves. On a side note, the tutorial for svelte is amazing. Instantly fell in love with svelte, it's incredible. After a while I started to struggle to make some things work (like SSR) and I was starting to write some rather hacky code and so I gave up on that and decided to convert it to sveltekit which took an entire day and was very worth it.
So what I have now is an absolute joy to work with and I get some very cool things like how well SSR and HMR works and how quickly netlify builds the production website.