Jack Baty

This might become a microblog about photography, blogging, emacs, analog tools, tech, etc. We'll see.

TILES, an(other) Emacs notetaking package

"TILES is an Emacs package for taking quick, title-less notes." Well color me intrigued!

Screenshot from the TILES Github page:

tiles

I love trying different methods for taking notes. TILES is sort of a cross between Howm, Deft, and Denote. I think I'll give it a go.

(via Sacha Chua Emacs News

Emacs, Notetaking

Pure Blog

At the beginning of the year, I jokingly resolved that I wouldn't change my blog platform more than once every three months. Technically, I've kept my word. But last week Kev Quirk introduced his new blogging platform, Pure Blog. I am constitutionally unable to resist trying new blogging platforms, so I set up a copy and started tinkering.

It's nice! It's not technically an SSG (it uses PHP), but it maintains content as YAML-fronted Markdown files, just like most SSGs. What attracted me most, originally, was that the whole thing felt like something I'd build, given the time and talent. It focused on the things I find important, so it was a good fit right off the bat.

Here's mine, so far, running at pure.baty.net. I'm playing with fonts and colors a bit. Currently, it mimics my Emacs theme, ef-day.

Pure Blog screenshot

Without too much fuss, Pure Blog behaves the way I want a blog to behave. It's simple, yet complete for what I need. I do have a wishlist, though.

  • Footnote support
  • Header improvements (such as making the blog title clickable or otherwise customizable)
  • I'd like to override the Copyright text.
  • A built-in /archive page with compact list of all posts, different from that of the home page. (I've made my own basic version)
  • Possibly an easier upgrade mechanism. I'm using a custom justfile but it's fragile. Kev's instruction for upgrades are close, but miss things like /content/layouts/, which are technically code, not content. And custom CSS is edited using the admin panel, which makes that also content, not code. It's not onerous now, but I have to pay more attention than I'd like.

In fairness, the whole project was meant to scratch a particular itch for one person. I'm not complaining! Like I told Kev, "Can open, worms everywhere!" :)

But now what? Part of me wants to break my rule and move baty.net to Pure Blog. That would be an enormous project, because years of using different tools has brought a variety of front matter formats (TOML, YAML, dates, tags, etc).

Another option is to make a new blog, such as I have so far with pure.baty.net, but even though the domain is fitting and kind of funny, I think the novelty will wear off.

I'm thinking about replacing baty.blog with a fresh new Pure Blog and leaving the old site behind. I have the content saved, so while it'll break links, at least the content is still out there somewhere.

Anyway, Kev's made a nifty, simple, useful, and easy-to-host blogging tool with Pure Blog. I need to figure out what to do with it.

Blogging

Monday, February 9, 2026

Remember when I used to shoot more film?

So, we're doing this again, eh?


I'm getting a little ahead of myself here. I keep reloading Pure Blog's github page to see if there's anything new. This morning, I saw the most recent commit was "2 minutes ago" so how's that for timing!?

The update added next/previous post links on each post. That was one thing I was missing, so I jumped the gun a bit and updated this blog. It involved a little customization, since the links are in the default post-meta.php file, which I'd customized earlier. Wasn't hard, but I wonder if I'm painting myself into a corner. Anyway, fun stuff.


I'm happy to report it's been a fairly productive day, so far. I have crossed off all of my chores and a couple of project tasks. Feels nice.

Journal

Sunday, February 08, 2026

Alice on the couch

I tend to write a few types of posts: daily journals, longer posts, short notes, and photo posts. No blogging tool I've used has done each of these well. The closest I have so far is daily.baty.net. This is a journal post using Pure Blog.


This blog will probably be about blogging with Pure Blog most of the time, since it's why I made it. Maybe don't subscribe to RSS just yet :)


I tried changing the page colors here. I wanted the header to be a different color. CSS light/dark switching confuses me and I couldn't figure it out, so I reverted to stock.

LATER: I decided I wanted my own colors more than I want to make a dark version available, so we're all light, all the time now. At least the background isn't pure white, so good enough?

Journal

Testing content migration from Hugo, just in case

Just to be clear, I don't have serious plans to migrate my main Baty.net (Hugo) blog to Pure Blog. That doesn't mean I won't explore the "But what if I converted baty.net to Pure Blog?" scenario.

Things will be wonky while I tinker. Probably don't link to anything here, since I'm almost certain the links will break.

Some things I've noticed:

  • Date formats in YAML are inconsistent with different SSGs. For example, Hugo wants date: 2026-02-05 05:29:52 -0500 and Pure Blog uses date: 2026-02-07 16:25 which throws an error in Hugo. Adding seconds to the date fixes it.
  • Quoted strings in YAML front matter are optional. Many of my Hugo posts do quote the title: attribute using either single or double quotes. Would need to be removed, because in Pure Blog, those quotes are included as part of the title, etc. Same goes for tags: ["Tag1","Tag2"] vs [Tag1,Tag2].

Blogging, Pure Blog

Managing Pure Blog updates using just

This has been mostly superceded by the built-in upgrade mechanism introduced in version 1.5.0.

Since everything in Pure Blog is all in one folder, I needed some way to back things up and deploy updates to the code, independent of the content. I use just with a few basic recipies.

Available recipes:

  • default - Lists recipies (e.g. just --list)
  • backup-to-local - Pulls content, code, and custom config to a dated folder on my local machine
  • serve - Run local PHP version of the site
  • upgrade - Runs git pull locally
  • deploy - Send just the source php to the server

Here's my justfile so far:

SERVER_HOST := "myserver.com"
SERVER_USER := "myuser"
SERVER_DIR := "/server/path/to/blog"
LOCAL_DIR := "~/local/path/to/blog"
BACKUP_DIR := "~/local/path/to/backups"
BACKUP_DATE := `date +%Y-%m-%d`
PUBLIC_DIR := "{{LOCAL_DIR}}"
TARGET := "Server03"

default:
    just --list

serve:
  php -S localhost:8000

upgrade:
    git pull

backup-to-local:
    echo "Backing up to {{BACKUP_DIR}}/{{BACKUP_DATE}}"
    rsync -avz {{SERVER_HOST}}:{{SERVER_DIR}}/ \
    {{BACKUP_DIR}}/{{BACKUP_DATE}} \
    --delete

deploy: 
    @echo "\033[0;32mDeploying updates to {{TARGET}}...\033[0m"
    rsync -v -rz \
    --checksum \
    --delete \
    --no-perms \
    --exclude /content/ \
    --exclude /config/ \
    --exclude /assets/images/ \
    --exclude /assets/css/custom.css \
    --exclude justfile \
    {{LOCAL_DIR}} {{SERVER_USER}}@{{SERVER_HOST}}:{{SERVER_DIR}}

I threw all this together rather quickly, so I'm sure there's more to do. Maybe there's a better way to handle this?

Blogging, Pure Blog

First!

So, here we are, testing Kev's new blogging tool, Pure Blog. It looks like this:

20260207-pureblog

It's super simple. I had this site running in about 10 minutes. Now what? Custom CSS, probably. 😁

This is only for testing purposes (so far).

Blogging, Pure Blog