My hugo-deploy: A Simple Script That Keeps My Blog Running

Why This Script Exists Every time I write a new blog post, Hugo has to rebuild the entire site. That means recompiling all the markdown, regenerating all the HTML, copying files to the web root where nginx can serve them, and fixing Linux file permissions so nginx can actually read them. Doing all that manually is tedious. Running separate commands every time is error-prone. I wanted one command that does everything. ...

July 27, 2026 · 6 min

WordPress Nearly Killed My Hugo Blog: A Backup Disaster Story

The Fuckup I wanted to migrate from Hugo to WordPress. Seemed simple. It wasn’t. I spent hours trying to install WordPress on my T620 thin client. Each time I “fixed” it, something else broke. By the end, both WordPress AND my Hugo site were completely fucked. Nginx wouldn’t start. The main blog was down. I had wasted hours on something that should have taken 30 minutes. Then I remembered: I had full backups. ...

July 27, 2026 · 5 min

Backing Up This Blog: Every Wrong Turn Before It Actually Worked

Why I wanted this backed up properly This whole site, every post, the theme, the config, lives in one folder on the T620. Nothing about that folder is protected by anything beyond the disk it sits on. Wanted a real backup, and wanted it copied off the box entirely, not just sitting in a second folder on the same machine. First attempt at excluding the build output Wanted to back up the Hugo source without dragging along the generated public folder or the build cache, since both regenerate automatically from a normal deploy and just bloat the archive for no reason: ...

July 20, 2026 · 5 min

Fixing Hugo's Search: fuzzysearch Was Never a Real Setting

The symptom Added client-side search to this site using PaperMod’s built-in feature. Worked immediately, which should have been my first clue something was off, because it worked badly. Searching “kyber,” the full, exact word, appearing in exactly one post, returned close to a dozen completely unrelated results. Searching just “ky” returned the one correct result and nothing else. Backwards from how search should behave, more specific input giving worse results than less specific input. ...

July 20, 2026 · 4 min

Getting Hugo Actually Working on the T620 ... the Real Steps, in Order

Why I’m writing this one down properly This site you’re reading right now runs on the same T620 as everything else … the NAS, the Samba shares, all of it. I got it working, but not in a straight line, and I want an actual record of the steps that worked, not a cleaned-up version that pretends I got it right first try. If I ever rebuild this box, this is the post I want to follow. ...

July 18, 2026 · 8 min