Handling robots.txt with Caddy and Kirby CMS

Kirby CMS uses plain .txt files for content. Since the bare .txt files should not be accessible with a browser, one normally uses a path matcher in Caddy and then denies requests based on a path, like so… path *.txt /content/* /site/* /kirby/* /.* But what if I want a /robots.txt file? Turned out to be a simple answer, but it took me a while to find it. I’m writing it down here in case anyone else might need it. Here’s the whole block from my site’s Caddyfile: ...

April 2, 2025 Â· 140 words

Daily.baty.net is running Kirby now

I’ve migrated daily.baty.net to Kirby CMS. It has been a static site managed by Tinderbox for a long time. I love Tinderbox, but now that baty.net is back on Hugo, I wanted a playground for learning more about Kirby, without moving the main blog back and forth between Hugo and Kirby. So, here we are. Your RSS feed is probably complaining right now. Sorry about that.

March 29, 2025 Â· 66 words

Handling Kirby content vs code

One of the things that frustrated me about Kirby last year was handling code/template changes vs content changes. I complained about it here. Ideally, since Kirby is a PHP CMS, I would do everything directly on the server. What I’ve done more often instead, is to run a full copy locally and rsync the final product (code, blueprints, content, images, etc.) to the production instance. Content is kept in plain text files, so both code and content changes need to be kept in sync. ...

January 2, 2025 Â· 455 words

From Kirby To Hugo

We’re back on Hugo for baty.net. For the past few months, I’ve been learning how to create a blog using Kirby CMS and it’s been a blast. Kirby is pleasant, easy, and fun to use. I’m glad I did it. I won’t bother you with a 2,000-word rationalization piece about switching. I just felt like using Hugo again, so here we are. I missed my nice Emacs-based publishing workflow. I missed “normal” YAML front matter. I missed having a completely static website. Who knows where we’ll be in a month, but today we’re using Hugo. I went back to the PaperMod theme. I don’t love how boring it is, but it’s clean, feature-rich, frequently updated, and easy to customize. ...

January 14, 2024 Â· 144 words

Wednesday, January 10, 2024

After yesterday’s Kirby->Hugo-Kirby debacle, I’ve been thinking about why I spend so much time farting around with and on my blog. Fair question, and one I don’t really have an answer to. I guess it’s my little place on the internet and I like to have the furniture arranged just so. But “just so” changes all the time, so I keep trying new configurations. It’s fun. Also useless, and nobody but me cares, but still. ...

Low 29.2, High 32.3 - Light snow Â· 75 words

Tuesday, January 09, 2024

Have you ever been so enamoured with plain-text-static-html publishing that you’re willing to burn down a month of implementing a blog using Kirby CMS in order to go back to using Emacs and Markdown and Hugo? I have.

Low 30.5, High 33.9 - Heavy snow Â· 38 words

Implementing Daily Notes in Kirby

How I reimplemented my Daily Notes feature from my Tinderbox blog to baty.net in Kirby

December 15, 2023 Â· 622 words

Moving this Kirby site from Fortrabbit to my DigitalOcean VPS

⚠️ This blog is no longer running Kirby, but I left this here just in case. I’ve recently whittled my servers at DigitalOcean down to a single 2GB instance running Caddy. When I started playing with Kirby, I tried getting it running there, but had issues with php-fpm and Caddy not playing well together, so I spun up a hosted instance at (link: https://fortrabbit.com/ text: Fortrabbit). Running Kirby doesn’t require a database or anything fancy, just a web server and PHP, and it bugged me that I couldn’t get it working, so yesterday I tried again, and finally figured it out. I’m writing this down so that I don’t lose it. ...

October 17, 2023 Â· 268 words

Sunday, October 08, 2023

The Kirby experiment has been fun, but I’m not sure I’ll finish anything useful.

October 8, 2023 Â· 173 words