{{ .Title | markdownify }}
+ ++
diff --git a/content/posts/the-slash-page-scoop/index.md b/content/posts/the-slash-page-scoop/index.md
index 1588b46..3af1011 100644
--- a/content/posts/the-slash-page-scoop/index.md
+++ b/content/posts/the-slash-page-scoop/index.md
@@ -16,6 +16,8 @@ Inspired by [Robb Knight](https://rknight.me/)'s recent [slash pages](https://sl
> Slash pages are common pages you can add to your website, usually with a standard, root-level slug like `/now`, `/about`, or `/uses`. They tend to describe the individual behind the site and are distinguishing characteristics of the IndieWeb.
+On a blog that is otherwise organized in a fairly chronological manner, slash pages provide a way share information out-of-band. I think they're great for more static content (like an about page that says who I am) as well as for content that may be regularly updated (like a changelog).
+
The pages that I've implemented (so far) include:
- [/about](/about) tells a bit about me and my background
- [/changelog](/changelog) is just *starting* to record some of visual/functional changes I make here
@@ -47,18 +49,145 @@ content
└── uses.md [tl! ~~]
```
-Easy enough, but I didn't then want to have to worry about manually updating a list of slash pages so I used [Hugo's Taxonomies](https://gohugo.io/content-management/taxonomies/) feature for that. I simpled tagged each page with a new `slashes` category by adding it to the post's front matter:
+Easy enough, but I didn't then want to have to worry about manually updating a list of slash pages so I used [Hugo's Taxonomies](https://gohugo.io/content-management/taxonomies/) feature for that. I simply tagged each page with a new `slashes` category by adding it to the post's front matter:
```yaml
+# torchlight! {"lineNumbers":true}
---
title: "/changelog"
date: "2024-05-26"
lastmod: "2024-05-30"
description: "Maybe I should keep a log of all my site-related tinkering?"
-featured: false
-toc: false
-timeless: true
categories: slashes # [tl! ~~]
---
```
+{{% notice note "Category Names" %}}
+I really wanted to name the category `/slashes`, but that seems to trip up Hugo a bit when it comes to creating an archive of category posts. So I settled for `slashes` and came up with some workarounds to make it present the way I wanted.
+{{% /notice %}}
+
+Hugo will automatically generate an archive page for a given taxonomy term (so a post tagged with the category `slashes` would be listed at `$BASE_URL/category/slashes/`), but I like to have a bit of control over how those archive pages are actually presented. So I create a new file at `content/categories/slashes/_index.md` and drop in this front matter:
+
+```yaml
+# torchlight! {"lineNumbers":true}
+---
+title: /slashes
+url: /slashes
+aliases:
+ - /categories/slashes
+description: >
+ My collection of slash pages.
+---
+```
+
+The `slashes` in the file path tells Hugo which taxonomy it belongs to and so it can match the appropriately-categorized posts.
+
+Just like with normal posts, the `title` field defines the title (duh) of the post; this way I can label the archive page as `/slashes` instead of just `slashes`.
+
+The `url` field lets me override where the page will be served, and I added `/categories/slashes` as an alias so that anyone who hits that canonical URL will be automatically redirected.
+
+Setting a `description` lets me choose what introductory text will be displayed at the top of the index page, as well as when it's shown at the next higher level archive (like `/categories/`).
+
+Of course, I'd like to include a link to [slashpages.net](https://slashpages.net) to provide a bit more info about what these pages are, and I can't add hyperlinks to the description text. What I *can* do is edit the template which is used for rendering the archive page. In my case, that's at `layouts/partials/archive.html`, and it starts out like this:
+
+```jinja-html
+# torchlight! {"lineNumbers":true}
+{{ $pages := .Pages }}
+{{ if .IsHome }}
+ {{ $pages = where site.RegularPages "Type" "in" site.Params.mainSections }}
+{{ end }}
+{{ site.Params.indexTitle | markdownify }}
+{{ else }}
+ {{ .Title | markdownify }}{{ if eq .Kind "term" }}
+ {{ with .Description }}{{ . }}
{{ else }}
{{ end }}
+{{ end }}{{ end }}
+ {{ .Content }}
+{{ site.Params.indexTitle | markdownify }}
+{{ else }}
+ {{ if eq .Title "/slashes" }}
+ {{ .Title | markdownify }}
+ My collection of slash pages.
+ {{ else }}
+ {{ .Title | markdownify }}{{ if eq .Kind "term" }}
+ {{ with .Description }}{{ . }}
{{ else }}
{{ end }}
+ {{ end }}
+{{ end }}{{ end }}
+ {{ .Content }}
+