Saturday, October 28, 2023
Added summary to Atom feed. Discussed CSS list spacing. Wrote script for opening current daily log entry.
Today's Plan
- Whatever I feel like doing. It's the weekend.
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.
- if..else Statement
- Get the current time and date
- Get yesterday's date because I was a little confused from date's man page
- Check if a file exists
- Appending to a file
- Find and replace with sed
- Using variables with sed (I learned I needed to use double quotes)
(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
- Look into where else a summary should go. Do SEO-type features need me to put it somewhere in the HTML head?
- Add a subtle vertical line to block quotes, so that it's easier to tell that it's a block quote.
- Test Atom feed.
- Write about log entry script