So I’ve been inspired to update the way my blog (this blog) page works.

I was inspired to do this by Meadow, who have given their posts an ID. For example, as of writing this, their most recent post is “0074 - the world is not made up of words” with an ID of 74.

Screenshot of Meadow’s blog list

I really like this concept of giving your posts an ID, but don’t want it in the title.
So, I did it the me way….which is just the Hugo way since I build this site with Hugo.

It was pretty easy actually. I just edited my post_meta.html partial:

{{- if not .Date.IsZero -}}
{{- $scratch.Add "meta" (slice (printf "<span title='%s'>%s</span>" (.Date) (.Date | time.Format (default "January 2, 2006" site.Params.DateFormat)))) }}
{{- end }}

{{- if (.Param "ShowReadingTime") -}}
{{- $scratch.Add "meta" (slice (i18n "read_time" .ReadingTime | default (printf "%d min" .ReadingTime))) }}
{{- end }}

…and added this snippet between these two parameters:

{{- with .Params.postID -}}
{{- $scratch.Add "meta" (slice (printf "ID %s" .)) }}
{{- end }}

…so the final snippet looks like this:

{{- if not .Date.IsZero -}}
{{- $scratch.Add "meta" (slice (printf "<span title='%s'>%s</span>" (.Date) (.Date | time.Format (default "January 2, 2006" site.Params.DateFormat)))) }}
{{- end }}

{{- with .Params.postID -}}
{{- $scratch.Add "meta" (slice (printf "ID %s" .)) }}
{{- end }}

{{- if (.Param "ShowReadingTime") -}}
{{- $scratch.Add "meta" (slice (i18n "read_time" .ReadingTime | default (printf "%d min" .ReadingTime))) }}
{{- end }}

Then in the front matter, I can add whatever postID I want.

---
postID: "002"
---

This change of URL format also required me to update the URL of my first post, which was pretty easy - I just changed the file name and added the previous URL as an alias (a default feature in Hugo, as I understand). looks like this:

---
aliases:
  - /blog/2026-05-22-powrss/
---

These changes have motivated me to write more which is nice. I’m also quite proud of myself for figuring it out. That said, I’m not a pro so if there was a better way to do this, I’d love to know!

Anyways that’s all. Thanks for reading! :)