Saturday, October 28, 2023

Added summary to Atom feed. Discussed CSS list spacing. Wrote script for opening current daily log entry.

Today's Plan

Adding summary to Atom feed

I had some trouble finding documentation for the Atom format, and the Atom feed validator seems to be down at the moment. I eventually found an example of an Atom feed that used the summary feature by going to the Atom wikipedia page. It looks like it is just <summary>. I added this tag to my Atom feed. It auto-generates from the page metadata for each log entry.

Discussing yesterday's list spacing CSS

I've added the following to the CSS Breakdown:

I've created a class .summary-directory for use in my Log index so that I can give an easy-to-understand amount of spacing for my long list of entries. Previously, this list was just a list of links with default spacing, which creates tap targets which are way too close together. In order to increase the spacing of the tap targets and the legibility, I have two strategies:

First, I've added summaries to each entry, and have put these on a new line below each link on the index. This (non-link) text helps create a buffer between links even with no styling. It also really helps readability to see a preview of each entry, because my date-titles are cryptic.

Second, I've increased the spacing with the following CSS rule. Each entry summary, the thing being selected with .summary-directory p (.summary-directory is on the <ul>), gets a little space between it and its entry link, and a lot of space between it and the next entry link. This keeps it clear which link it is describing.

.summary-directory p {
  margin-block: 0.5rem 1.5rem;
}

Script for opening today's log entry

I would like a script that checks the date, opens today's log entry if it exists, or generates a new one from a template if it doesn't yet. I want it to open yesterday's log entry if it's before 6am, because midnight is a very awkward time for the date to roll over.

Resources

I have the tiniest prior experience with shell scripting, but not enough to rely on. Here, I'll collect some tutorial and reference resources I believe I might need to put this script together.

(Most of these are from Linuxize, which is a pleasant, non-bloated site. A relief from most resources you sift through on Google these days. I'll be bookmarking it.) Edit: Never mind! It has horribly intrusive popup video ads on mobile. Only usable with an ad-blocker, unfortunately. That's a shame, because the content was helpful!

Someday: learn more about the shell ecosystem

I am enamored by all of these tiny, composable programs. The date command is delightfully flexible, yet simple to use. A few months ago I stumbled upon The Art of Unix Programming (2003) by Eric S. Raymond. It's a kind of socially-informed history of the UNIX design philosophy, and discusses how those little programs are interfaced. I read the introduction and I'd like to find the time to learn more someday. I think it would be very cool to learn more about why my operating system is the way it is.

Success!

I've successfully created a wonderful script to achieve all I desire. I will need to write it up tomorrow, because it is very late now.

Task Ideas