How I changed my blog


My blog has been go­ing for more than 20 years. In this times­pan there has been just one change in ar­chi­tec­ture: go­ing from WordPress to Eleventy + Netlify.

At the time, I was look­ing for the sim­plest pos­si­ble so­lu­tion. I did­n’t go far enough.

For a tech­ni­cal blog like mine, you don’t need a sta­tic gen­er­a­tor like Eleventy. A bash or Python script is enough - so you are not forced to re-learn the sta­tic gen­er­a­tor every time you pick up the blog again.

Also, you don’t need a web provider that knows about your sta­tic gen­er­a­tor, like Netlify and com­piles your code. You can com­pile it on your lap­top and ftp the html to wher­ever.

Also, the html and css I was gen­er­at­ing was too com­plex.

The last point is in­ter­est­ing. In my css, you could change a few ty­po­graphic vari­ables (i.e., font-size, mea­sure, …) and the whole site would changes. That sounds fan­tas­tic, ex­cept that it is­n’t. I am not Microsoft/Google/Netflix/…

When I pick up the blog again af­ter a few months, I for­get how it all works and end up spend­ing hours fig­ur­ing it out again. Fixing is­sues means wad­ing through bogs of in­di­rec­tion: is it a browser bug? My frame­work? …

This is a les­son I had to learn many times, and I am still learn­ing: rad­i­cal sim­plic­ity means you don’t cre­ate a frame­work. You just code the damn thing.

You can see how it used to look by do­ing a View source on this.

The new web­site is still Eleventy + Netlify, but I fixed the HTML + CSS to be rad­i­cally sim­ple.

You can see the dif­fer­ence in the source code here.

A few sim­pli­fi­ca­tion came about as a bonus. When you rad­i­cally sim­plify things, you of­ten get to their hid­den core.

I used to have dif­fer­ent templates’ for dif­fer­ent cat­e­gories of pages (i.e., post, list of posts, home page, …). I now have just one tem­plate. The con­tent in the mid­dle of the page is the only thing that changes.

One thing I have not re­moved is a pro­cess­ing pass that in­sert ty­po­graphic niceties (like Hanging Punctuation). You can see an ex­am­ple on the line that says: I want a piece …” here.

This is friv­o­lous, but for some­one who is into ty­pog­ra­phy like me (I have cre­ated my own font af­ter all), it does mat­ter.

The old web­site was al­ready at 100% in all google lighthouse cat­e­gories. The new one is even faster. Not that it mat­ters, but you know …

The next step is to re­move the de­pen­dency from the sta­tic site gen­er­a­tor and provider. Just a sim­ple script that it­er­ates over all the posts and gen­er­ates the Notes, Tags, Code pages should be about it. Next time.

Oh, and I also need to re-in­tro­duce a way to com­ment on the posts. I am think­ing some kind of pub­lic email box with one thread for each post, but I have not in­ves­ti­gated fur­ther.