alexkarle.com

Source for alexkarle.com
git clone git://git.alexkarle.com/alexkarle.com.git
Log | Files | Refs | README | LICENSE

commit 5c1fd5edca840e3ec2f8a80b8fed763d30cfa11a (patch)
parent 0f0cfa8639d7099410961a56a1eac002f1c52332
Author: Alex Karle <alex@alexkarle.com>
Date:   Fri,  8 Oct 2021 00:59:38 -0400

blog: Change listing format to -tag list (grid)

The bullet-point listing was becoming very cluttered as I added more
posts! I took a page out of danluu.com and trimmed the longer
(MM/DD/YYYY) datestamps into MM/YY (the full date is still on the page!)
and tossed in some CSS grid magic to make sure the list is actually true
to the mdoc -tag equivalent!

The trickiest part here (besides getting it to look how I wanted) was
revamping the genatom.sh to no longer parse the dates from blog.7. This
is a net-win in terms of maintainability in my book though! I'd rather
grab them from the source-of-truth .Dd macros :)

Diffstat:
Mbin/genatom.sh | 12+++++-------
Mblog.7 | 49+++++++++++++++++++++++--------------------------
Mstyle.css | 10++++++++++
3 files changed, 38 insertions(+), 33 deletions(-)

diff --git a/bin/genatom.sh b/bin/genatom.sh @@ -9,9 +9,6 @@ PATH="$REPO/bin:$REPO/obj/bin:$PATH" # All posts are a item (.It) in the list, and linked via .Xr POSTS=$(sed '/SEE ALSO/q' "$REPO/blog.7" | grep -A1 '\.It' | grep '\.Xr' | sed 's/^\.Xr \([^ ]*\) 7/\1/') -# Assume dates are 1-1 -DATES=$(grep -o '[0-9]\{1,2\}/[0-9]\{1,2\}/[0-9]\{4\}' "$REPO/blog.7" \ - | sed -e 's#\([0-9]\{2\}\)/\([0-9]\{2\}\)/\([0-9]\{4\}\)#\3-\1-\2#') cat <<HEADER <?xml version="1.0" encoding="utf-8"?> @@ -25,11 +22,12 @@ cat <<HEADER </author> HEADER -set $DATES -printf " %s\n" "<updated>${1}T00:00:00Z</updated>" for p in $POSTS; do - d="$1" - shift + d=$(date -juf"%b %d, %Y" +%F "$(grep '^\.Dd' "$REPO/$p.7" | cut -d' ' -f2-)") + if [ -z "$printed_update" ]; then + printed_update=1 + printf " %s\n" "<updated>${d}T00:00:00Z</updated>" + fi cat <<ENTRY <entry> <title>$p</title> diff --git a/blog.7 b/blog.7 @@ -13,44 +13,41 @@ feed (for use with your favorite RSS/Atom client). .Pp For an up to date list of software/hardware I use, see .Xr uses 7 . -.Pp -Otherwise, posts below are from newest to oldest: -.Pp -.Bl -bullet -compact -.It +.Sh POSTS +.Bl -tag -width "XX/XX" +.It 09/21 .Xr make-obj 7 -\(em out-of-tree builds with BSD +- out-of-tree builds with BSD .Xr make 1 -(09/28/2021) -.It +.It 09/21 .Xr text-only 7 -\(em announcing text.alexkarle.com (09/20/2021) -.It +- announcing text.alexkarle.com +.It 07/21 .Xr creative-coding 7 -\(em learning through creative limitation (07/18/2021) -.It +- learning through creative limitation +.It 02/21 .Xr use-feeds 7 -\(em RSS/Atom feeds; what, why, and how (02/09/2021) -.It +- RSS/Atom feeds; what, why, and how +.It 12/20 .Xr my-old-man 7 -\(em Adventures in using +- Adventures in using .Xr mdoc 7 -for this site's source (12/30/2020) -.It +for this site +.It 10/20 .Xr on-writing 7 -\(em On Writing Without an Audience (10/22/2020) -.It +- On Writing Without an Audience +.It 07/20 .Xr self-hosted 7 -\(em Migrating to a Self-Hosted Site (07/19/2020) -.It +- Migrating to a Self-Hosted Site +.It 07/20 .Xr BLM 7 -\(em Black Lives Matter (07/13/2020) -.It +- Black Lives Matter +.It 03/20 .Xr domain-names 7 -\(em What's in a (domain) name? (03/24/2020) -.It +- What's in a (domain) name? +.It 12/19 .Xr a-new-hope 7 -\(em A New Hope (12/19/2019) +- A New Hope .El .Sh SEE ALSO .Bl -bullet -compact diff --git a/style.css b/style.css @@ -61,6 +61,16 @@ div.Bd-indent { overflow-x: auto; } +/* Bl-tag correctly with grid for blog.7 */ +dl.Bl-tag { + display: grid; + grid-template-columns: max-content auto +} +dl.Bl-tag dd { + margin-left: 16px; + margin-bottom: 1em; +} + /* defaults from mandoc(1)'s inlined CSS */ table.head, table.foot { width: 100%; } td.head-rtitle, td.foot-os { text-align: right; }