BWT will refer to "blogging with Tinderbox."

I've got a "test article" that I use to try out certain things in Tinderbox before I try and incorporate them in the marmot. That's to make sure I understand what I'm doing, and avoid unintended consequences that might cause problems.

I've learned to do this through hard experience.

Over the past year or so, I've been slowly adding additional automation to the marmot. I try it out in the test article first, and that file is slowly beginning to become something of an example file for one way of maintaining a weblog with Tinderbox. There are innumerable different ways of maintaining a weblog with Tinderbox, the marmot and its test article are just one. By the time we get to the meet-up, I hope to have it pretty complete and able to share.

So what about automation? There are myriad details in publishing html formatted documents within a specific file structure that are organized, in large measure, chronologically. The simpler the structure, the fewer the details; but there will still be many. Getting Tinderbox to attend to those details reduces the chance for errors, reduces the amount of work in actually maintaining the weblog and therefore increases the chances of actually using it.

Automation requires a significant investment of time and effort once, but then repays that investment over time. The marmot's been running for 10 years now, much of that time with minimal automation (and frequent manual intervention when things went awry). Now I'm learning how to let Tinderbox do the things Tinderbox is good at, so I can spend my time figuring out the best ways to waste yours. (Just kidding.)

Blogging services, like Tumblr or Wordpress or others, have done most of that automation for you. If you want to learn javascript and php and SQL stuff, things that run on the server, you can program that automation yourself. The advantage of using Tinderbox is that it doesn't run on the server. It outputs static html files. They load quickly because they're mainly just text. They're more secure, because the server is just serving a file, not rendering it. Some people prefer that server-generated environment, because it offers a great deal of flexibility and features; but it does come with security risks in terms of taking over that collection of automation running on the server and having it do things, often nefarious things, you aren't paying for it to do. Plus, unless you understand all that code, you have no idea what else your service is doing with your data and your readers.

Tinderbox export templates can include things like javascript, or embed code from other web sites or services, but if you want to keep things fast and light, you don't need to do any of that.

So what sorts of automation does Tinderbox do in the marmot? Infrastructure things. It creates the "permalinks" that accompany each blog entry. When I add a post, it places it at the top of month because blogs are read in reverse chronological order. It counts the number of words (to a close approximation) so I know when I'm getting too verbose (I'm at 525). In the background, it's showing me a bunch of related posts I can refer to if I wish. As a "nice-to-have" kind of feature, there's a note that's querying a weather service for the local weather data, which is added to each post.

At a higher level, the marmot knows the date. When February ends, it'll create a new container for March's posts. That container will be created from a "prototype" month container, which has all the attributes and automation necessary for managing a month's posts. It'll give that container its export filename. At the highest level, when 2024 ends, it'll create a container for 2025 and the January 2025 container as well.

The "home" page just contains one day's posts. It's created automatically. If I don't post anything for a few days, it remains the same. But an "agent" collects the posts from "today" and places them in the Main Page (or "Home") container. (Some of the naming conventions in the marmot are over 20 years old.) A separate agent also gathers today's posts to generate the RSS feed. Some people maintain a huge number of posts in their RSS feed. I see that a lot when someone changes something on their blog and NetNewsWire will all of a sudden have thirty or forty posts on the "blogs" category and most of them will be from one blog going back a year or more. ("Mark all as read" is your friend.) The marmot's feed is ephemeral. Just the things I posted, on the last day I posted.

I've got one last piece of automation I need to figure out, and that's the "Archives" page. That's going to be an agent that gathers the $HTMLExporeFilename of every month as a list and renders them as links in the page. Right now, I do that manually, just adding the new month to the top of the list. But sometimes I'll forget for a couple of months. Tinderbox never forgets.

Basically, all I have to do is hit Enter to start a post. Pour in my deathless prose. Turn off the safety, "HTMLDontExport" boolean, and do File=>Export as HTML. Then I have to slide over to ForkLift and tell it to sync the marmot.

There's some fancy stuff I do to post photos, but that's for another day.

Originally posted at Nice Marmot 07:16 Sunday, 11 February 2024