fix: Bump hextra and hugo - #470
Conversation
Hextra v0.8.3's layouts/_default/list.rss.xml references the legacy .Site.Author hash, which Hugo 0.160+ no longer exposes on the page.Site type. Locally this caused `hugo server` to fail with a template render error on /, /categories, and other section feeds. Netlify (Hugo 0.132.2) was unaffected, so production stayed green. This commit ships a local override of the RSS template that reads site.Params.author instead, plus the corresponding params.author block in hugo.yaml. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
✅ Deploy Preview for repronim ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
There was a problem hiding this comment.
Code Review
This pull request introduces a local override for the RSS template and updates the site configuration to include author information, addressing compatibility issues with Hugo 0.160+ where the legacy .Site.Author is no longer supported. The review feedback identifies potential template evaluation errors when accessing site parameters and suggests using defaults to ensure the build remains robust even if specific configuration keys are missing.
Hextra v0.12.3 requires Hugo >= 0.146 (new layouts lookup); Hugo 0.156+ also removes the legacy .Site.Author field that the old Hextra RSS template depended on. Bump both pins so the site builds on a Hugo version that matches the local dev environment. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Vestigial from the Hextra starter-template clone. No one on the team uses devcontainers; deleting saves a stale config that would otherwise need bumping on every Hugo/Hextra upgrade. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
site.Data was deprecated in Hugo 0.156.0 in favor of hugo.Data and will be removed in a future release. Switches both custom shortcodes (people, fellows-resources). Sets the effective minimum Hugo for this site to 0.156. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
This PR updates the site’s Hugo/Hextra dependencies and configuration to be compatible with newer Hugo versions, and adjusts shortcodes accordingly.
Changes:
- Bump Netlify’s Hugo version and the Hextra Hugo Module version.
- Update data-file access in two shortcodes.
- Add
params.authorinhugo.yaml(intended to support RSS metadata).
Reviewed changes
Copilot reviewed 6 out of 7 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
netlify.toml |
Updates Netlify build Hugo version pin. |
layouts/shortcodes/people.html |
Changes how the shortcode reads from Hugo data/. |
layouts/shortcodes/fellows-resources.html |
Changes how the shortcode reads from Hugo data/. |
hugo.yaml |
Adds params.author values for RSS-related metadata. |
go.mod |
Bumps the Hextra module version. |
go.sum |
Updates checksums for the new Hextra module version. |
.devcontainer/devcontainer.json |
Removes the devcontainer configuration. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| go 1.21 | ||
|
|
||
| require github.com/imfing/hextra v0.8.3 // indirect | ||
| require github.com/imfing/hextra v0.12.3 // indirect |
|
Sending an email to the web group to poke around between the updated version and the current version to give us a chance to compare to the old way before it goes away, and potentially file issues if we want to fix stuff. |

Updated description (asmacdo 2026/05/12)
I went ahead and bumped hugo and hextra, which were both quite behind. The RSS template override turned out not to be necessary with modern hextra. Did some minor fixes to get the site up to date with the modern versions.
Mostly identical, though there are some changes in the layout, particularly the width. IMO we should poke around on the preview, and merge this one as is (ish), and open up followups if anything looks a little off. (The only slight annoyance I had was the spacing on the home page).
Original Description (yibei)
What this changes
Adds a local override of the Hextra RSS template plus a small
params.authorblock inhugo.yaml, sohugo serverworks on Hugo 0.160+ (the version most maintainers have installed locally).This is the change that was originally bundled into #468 (the FAQ PR). Per @asmacdo's request on that PR, splitting it out so the FAQ work can land on its own.
Why it's needed
Hextra v0.8.3's
layouts/_default/list.rss.xmlreferences.Site.Author.emailand.Site.Author.name. Hugo 0.156 deprecated and Hugo 0.160 fully removed the.Site.Authorfield on the page.Site type, so when local maintainers runhugo serverwith a recent Hugo, the build fails with:netlify.tomlpins Hugo 0.132.2 for production deploys, so the live site isn't affected — this is a local-dev problem only.What's in the patch
layouts/_default/list.rss.xml— local copy of Hextra's template that readssite.Params.author.{email,name}instead of the removed.Site.Author.{email,name}. Hugo's lookup order picks up the local layout before the theme module, so the theme isn't modified.hugo.yaml— addsparams.author(name,email) so the override has values to read from.This is intended as a stop-gap
@asmacdo noted on #468 that "I hope we can also bump the theme and avoid the new override." That's the right long-term fix. If a Hugo + Hextra bump resolves the
.Site.Authorissue, this PR can be closed without merging — the override exists only because the current pinned Hextra v0.8.3 still uses removed Hugo APIs.If you'd rather hold this until the bump lands, I'm happy to leave it open as a fallback or close it now.
Test plan
hugo server— should start cleanly with nolist.rss.xmltemplate error.hugo --gc— exit 0, no errors.http://127.0.0.1:1313/index.xml— RSS feed renders, contains<managingEditor>info@repronim.org (ReproNim)</managingEditor>.🤖 Generated with Claude Code