RT Cunningham

A New Beginning

Written on Feb 28, 2026, Updated on Mar 16, 2026

Tagged: programming, writing

hands

This isn't my first website or my first blog. It isn't even the first website I've coded from scratch. What you see from your perspective is a static website, even if you view the page source.

It isn't static on my personal computer. I use Nginx as the web server and PHP as the scripting engine. I code and write everything with a plain text editor. I use this setup on my computer as a custom static site generator.

Cloudflare Pages

This is the second time I've used Cloudflare pages to host my website. I made a big mistake the last time. If a web address ended with the ".html" extension, Cloudflare automatically redirected it to a URL without the extension. That caused me all kinds of headaches.

This time, I'm using the ".htm" extension. There is no semantic difference between ".htm" and ".html" today. The ancient MS-DOS and Windows 8.3 file lengths forced the shorter version, but Windows has supported long filenames for more than three decades.

Cloudflare doesn't redirect web addresses with the ".htm" extension. The index page itself has to end in ".html", which displays without the "index.html" filename, and that's what's preferred.

Decisions

I started out doing everything manually, including the article list on the index page and the article lists on the tag pages. With the help of some looping scripts, it's all automated now. The scripts also generate the titles of the previous and next articles at the bottom of each article page.

When adding a new tag, I simply create a new tag page filename with a looping script on it. That's the extent of what I have to do with it. I still have to check everything each time I publish an article, of course.

Since this website doesn't use cookies, there is no need for an annoying cookie banner. That may change if I decide to add something that requires cookies, but I doubt that will ever happen.

Image by Pexels from Pixabay

All the Computers I Have Owned