This page documents the changes made on 2026-01-28 so you can quickly find what was changed, where, and why. Use this as a reference if you want to revert or adjust behaviour later.
Summary of changes#
- Menus updated to make Docs and My HomeLab top-level main menu items, and to add tag-filtered submenus under
My HomeLab. - Site-wide background image added via custom CSS, with blur and dark overlay applied for readability.
- Created a new example post for the Plex + Arr stack (two compose placeholders) and updated templates and archetypes to standardize Homelab content creation.
- Added a tagging guidelines page and archetypes for host/service/runbook/incident.
- Favicon implementation: copied favicon files from
favicon_io 2/tostatic/folder for browser tab icon and app icons.
How it works (simple)#
- Menus are defined in
config/_default/menus.en.toml.
- Each
[[main]]entry hasname,pageRefandweight. pageRefcan point to a category (e.g.categories/HomeLab) or a tag (e.g.tags/media).weightcontrols ordering (lowest first).- Sub-menus are created by adding another
[[main]]withparent = "My HomeLab".
- What appears on each menu page depends on the
pageReftarget:
- If
pageRef = "categories/HomeLab", the page lists content withcategories: ["HomeLab"]. - If
pageRef = "tags/media", the page lists content that hastags: ["media"].
- Example front matter (TOML) and what it does:
- Appear in the main
My HomeLab(category-based):
title = "My Host"
date = 2026-01-28
draft = false
categories = ["HomeLab"]
tags = ["proxy","nginx"]- Appear in
My HomeLabmain andMediasub-menu (both):
title = "Plex setup"
date = 2026-01-28
draft = false
categories = ["HomeLab"]
tags = ["media","plex"]- Appear ONLY in the
Mediasub-menu (not in main):
title = "Subtitle setup"
date = 2026-01-28
draft = false
# no HomeLab category
tags = ["media","bazarr"]If you want the main
My HomeLabmenu to be tag-based (so it liststags/homelab), change itspageRefinconfig/_default/menus.en.tomlfromcategories/HomeLabtotags/homelab.Testing and quick checks:
hugo server -D
# visit http://localhost:1313 and click the menus to confirm the right pages- Quick edits:
- Change submenu target: edit
pageRefunder that[[main]]entry to a differenttags/<tag>. - Reorder menus: change
weightvalues. - Rename visible labels: change
name.
Files changed / created#
config/_default/menus.en.toml- What: Moved
DocsandMy HomeLabinto[[main]]. Added sub-menu entries (as[[main]]withparent = "My HomeLab") that link to tag pages:tags/media,tags/infrastructure,tags/monitoring,tags/security. - Why: Make
My HomeLaba first-class menu and have submenus show only posts with the matching tag. - How to change: edit
pageRef(e.g.,tags/media) to point to different tags or changename/weightto reorder items.
- What: Moved
config/_default/params.toml- What: An attempt was made to enable
defaultBackgroundImagebut the change was reverted. Current advised approach uses CSS. - Why: The theme-level param did not take effect (or was reverted), so we used custom CSS to guarantee site-wide background behavior.
- What: An attempt was made to enable
assets/color.jpg- What: The image used as background (stored as
assets/color.jpg). - Why: Source used by the custom CSS.
- What: The image used as background (stored as
assets/css/custom.css(new)- What: Added site-wide background CSS and visual effects:
body::beforecontains the blurred background image (currentlyfilter: blur(8px))body::afteradds a dark overlay (background-color: rgba(0,0,0,0.5)) to improve text contrast
- Why: Achieve a blurred, darkened background across the whole site while keeping content readable.
- Quick edits:
- Change blur: edit
filter: blur(8px)to another value (e.g.,5pxlighter,15pxheavier). - Change darkness: edit
rgba(0,0,0,0.5)(0.0 = transparent, 1.0 = black). - Change image: update
url('/color.jpg')to another path underassets/.
- Change blur: edit
- What: Added site-wide background CSS and visual effects:
content/posts/plex-arr-stack/index.md(new)- What: New published post titled “Plex and the Arr Stack - Media Automation Setup” with two placeholder compose snippets.
- Tags: includes
homelabandmedia, so it will appear under theMy HomeLabmain menu and theMedia & Entertainmentsubmenu. - Why: Example content and to populate the
mediasubmenu so tag-based filtering can be tested.
template.md(site-level template)- What: Updated with TAGGING GUIDELINES section to help author consistent posts.
- Why: Ensure new posts follow the tagging strategy so menus display as expected.
archetypes/host.md,archetypes/service.md,archetypes/runbook.md,archetypes/incident.md(new)- What: Archetypes created to standardize front matter for hosts, services, runbooks, and incidents.
- Why: Use
hugo new --kindto create new content with consistent fields (tags, status,host_id,maintainer,impact, etc.).
content/templates/TAGGING_GUIDELINES.md(new)- What: Canonical categories and recommended tags, plus rules (lowercase, hyphen-separated) and how to use archetypes.
- Why: Keep taxonomy consistent across docs and sites.
static/(favicon files fromfavicon_io 2/)- What: Added favicon files (favicon.ico, apple-touch-icon.png, android-chrome-*.png, site.webmanifest) to static folder.
- Why: Make the site’s favicon (browser tab icon) and app icons visible across browsers and devices.
- How to change: Replace files in
static/with new favicon files from a favicon generator; use hex colors#1697de(blue) or#ed5d2e(orange) from the site background for consistency.
config/_default/menus.en.toml(cleanup)- What: Removed old, unused commented
[[subnavigation]]blocks and duplicate examples to declutter the file. - Why: Keep the file maintainable and ensure there’s no confusion between
mainandsubnavigationusage.
- What: Removed old, unused commented
How to revert a single change#
- To restore a file to the last committed state:
git checkout -- config/_default/menus.en.toml
git checkout -- assets/css/custom.css- To inspect diffs before reverting:
git status
git diff HEAD -- config/_default/menus.en.toml- To revert the entire commit (if changes were committed):
git log --oneline
# find the commit sha and then
git revert <commit-sha>Where to edit later (quick pointers)#
- Menu labels, targets, ordering:
config/_default/menus.en.toml— editname,pageRef, andweight. - Tag targets for submenus:
pageRef = "tags/<tag>"(change<tag>to your canonical tag). - Site-wide background/blur/darkness:
assets/css/custom.css— adjustfilterandrgbavalues. - Template guidance and tag lists:
content/templates/TAGGING_GUIDELINES.mdandtemplate.md. - Use archetypes to create new pages consistently:
hugo new --kind host inventories/hosts/my-host.md
hugo new --kind service docs/services/my-service.md
hugo new --kind runbook runbooks/my-runbook.md
hugo new --kind incident runbooks/incidents/rca.mdNotes and rationale#
- Tag-based submenus allow fine-grained control: a post tagged
homelabappears in the mainMy HomeLablisting; posts tagged onlymediawill show only in theMediasubmenu. This gives flexibility over where content appears. - CSS approach for backgrounds is used because the theme param did not produce the expected result or was reverted; CSS is reliable and gives precise control (blur/overlay).
- Archetypes and a central
TAGGING_GUIDELINES.mdmake it easy to keep new content consistent and ensure menus work as intended.
Future Implementation Notes (Step 3)#
Templates Visibility#
The template files (POST_TEMPLATE.md, TAGGING_GUIDELINES.md, CHANGELOG_2026-01-28.md) are stored in content/templates/ but are currently not visible in your main menus. They exist on the site but require direct links to access.
Why: Templates don’t have the categories/tags that menus target (e.g., documentation, HomeLab, media, etc.).
Options for future implementation:
- Create a Templates landing page — Add
content/templates/_index.mdthat lists and links to all template files. This makes them discoverable in one place. - Add Templates menu item — Add a new
[[main]]entry inconfig/_default/menus.en.tomlpointing totemplates/so it appears in the header. - Keep as hidden references — Set
draft: trueon all template files if you prefer them as internal-only documentation (accessible via repo, not on the published site).
Direct URLs (current):
https://skui.io/templates/post-template/https://skui.io/templates/tagging-guidelines/https://skui.io/templates/changelog-2026-01-28/
Choose which approach fits your workflow and implement when ready.
If you want, I can:
- Add a short
CHANGELOGentry to the repo rootREADME.md. - Create a small script to scan
Homelab-Docand suggest tag mappings for existing files (preview before applying).
