Abstract Front Matter

Parade of Params

What I know and don't

In the previous post on the description meta tag I walked through how the Keywords, description and author meta tags make it onto the page. There was one last related bit of Front Matter that I was curious about, the abstract param.

I can see there are 2 partial templates that reference the param. It seems like an alternative to the Summary param, but It's not clear to me if I can just delete that from those templates, and get rid of it, or if there is some other potential use for another way to capture the intent of a post.

What's in the wild

Sometimes I find it helpful to see how others are using a concept. I may not come to the same conclusion, but their PoV might help me build out mine. In another the kbenoit-hugo-site I see some overlap with what the Clarity Theme is doing, but I see something similar to what I associate an abstract with.

It's an excerpt for a talk, or academic paper, often containing the key arguments. It's definitely something longer than a Description or Summary, but is certainly in the same content space. Walking through that repo I found a lot of structural components that I might need to come back to in the future. But I'm not an academic, I don't teach, write research papers, and as far as formal talks; I'm squarely in the realm of extemporaneous rambles.

To Prune or Not to Prune

In this case, because I don't really like unexpected outcomes, it makes sense to at least remove abstract from the fallback logic. I understand the intent of having it set up that way. If I write a post with an abstract I may not want to duplicate content just to create a Summary or Description.

For me though I appreciate the explicit. I really struggle with ambiguous flags like showCustomFooter: Boolean. I can assume that if that variable evaluates as True a custom "footer" will be shown. What I don't explicitly know is what happens if the variable evaluates to False. Does any "footer" show. Is it the default? Is there additional contextual logic.

Where possible I prefer very explicit configurations. If there multiple footers, have an Enum, set a footerToRender: Enum.Footers value. Make sure I know what I'm doing when I try to make a change.

In this case, even though I can read the code and figure out what will happen with the abstract value, It's less transparent than I prefer. I wont complete prune the abstract param, but I will prune the logic.

But

There's always a but. There are some downsides to this. Obviously the more I customize, the more I own going forward. I can no longer easily migrate to newer versions of the them.

Beyond that, I'm careening towards a path where I might end up having to build a completely custom theme. In some respects that's antithetical to my intent when choosing (Hugo). I wanted something light, but not a SASS platform. I wanted to have some control without writing something from scratch.

Going through this exercise with Front Matter and Partial Templates I've encountered a few things that I know will needle me until I clean them up. For instance the <description> node in the rss.xml has duplicate logic to the excerpt.html template. In my ideal world, there would be one path to resolve each param.

I don't have enough data yet to embark on that level of customization. I don't know the world of RSS well enough to determine what the keyword description is most like. Is it meant to function like the description meta tag or is it more of a summary. For now I'm going to keep it as is, minus the abstract param.

QOTD

“Quiet people have the loudest minds.” ― Stephen Hawking

Posts in this series