- This repo is a Hugo static site for
https://major.io/;hugo.yamlis the source of truth. - Hugo must be Extended.
.hugo-versionpins the deploy version, whilehugo.yamldeclares the minimum supported version. - The PaperMod theme is a Hugo module in
go.mod; the Go module exists for theme/module management, not application code. - Posts live under
content/posts/as page bundles likecontent/posts/2026/example-slug/index.md; keep post assets besideindex.mdand use front mattercover.imagewithcover.relative: truefor bundled images.
- Production build matching PR CI:
HUGO_ENVIRONMENT=production HUGO_ENV=production hugo --gc --minify. - If only the downloaded CI binary is available, CI runs
./hugo --gc --minifyafter fetching Hugo Extended. - Cloudflare Pages uses
sh scripts/build-cloudflare.sh; it downloads Hugo Extended from.hugo-version, usesCF_PAGES_URLas--baseURLwhen present, and writespublic/. - There is no repo test, lint, pre-commit, Makefile, justfile, or Taskfile suite. Verify content and theme changes with a Hugo build.
- GitHub Pages deploy builds with
--baseURLfrom Pages, then copiespublic/index.xmltopublic/feed/index.xml; keep that RSS compatibility behavior if editing deploy flow. static/_redirectsmaps/feed,/feed/rss, and/feed/atomvariants to/index.xmlfor hosts that honor Netlify-style redirects.wrangler.jsoncand the BusyBoxDockerfileboth expect a prebuiltpublic/directory.- Generated or local-only paths are ignored:
public/,resources/_gen/,.hugo_build.lock,.wrangler,.dev.vars*, and.env*.
layouts/_default/rss.xmloverrides PaperMod RSS and emits full post content in<description>.layouts/partials/extend_head.htmlpreloads local fonts fromstatic/fonts/.- PaperMod CSS overrides belong in
assets/css/extended/; current overrides define local fonts, show cover images on tag pages, and widen--main-widthto840px.
- Update this
AGENTS.mdin the same change whenever substantial site architecture, build, deploy, theme override, content layout, or workflow behavior changes. - Treat
scripts/make-bundles.py,scripts/migrate-slugs.py,scripts/move-images.py, andscripts/remove-disqus-id.pyas one-off migration utilities. Read them before running because they rename or rewrite content in place.