May 15, 2025
It is a fair question. Why would you do that? For example, this blog, which you are currently looking at, was designed from scratch using HTML, CSS, and a sprinkling of vanilla JS—that's it!
Why not use the myriad of other tools available to achieve this? The answer is simple: I was curious. If I had to create this blog from scratch, how would I do it? What makes up a blog? Do I need all of the features that generally come with one?
Because the internet is bloated; it's become nearly impossible to navigate. This is due to the large amounts of ever-present ads and heavy JS used seemingly everywhere.
I wanted something clean and simple, light as a feather—a delight to gaze upon. I have already achieved this with my Obsidian setup, so my intention was to give the blog a similar look and feel. However, I wanted to do so with meaningful constraints, as that is where exploratory learning usually works best; bonus points if you have little to no knowledge of the technology before hand.
Despite my lack of knowledge, I had the basics up and running within a few hours: a nice clean background colour, some elements, a nice container for my text, a beautiful font, and some pretty CSS to tie it all together. A bit of troubleshooting also ensured that my blog looks essentially the same on mobile, which is fantastic. I was not expecting it to be so easy.
Now, what's next? Well, at the end of a writing session, I'm left with an .md file. As a result, the next step is to write a program that converts that file to HTML.
There's probably some library I could use, which does that for me, but again, what would be the fun in that? I want to suffer. I want to explore. I want to come across dead ends; all for that sweet-sweet reward at the end, where I finally—figure it out.