Skip to content

Modernize site: self-contained Hugo setup, new design, current CI - #51

Merged
emptymalei merged 2 commits into
hugofrom
modernize-site
Sep 30, 2026
Merged

emptymalei merged 2 commits into
hugofrom
modernize-site

Conversation

@emptymalei

@emptymalei emptymalei commented Sep 30, 2026 •

Copy link
Copy Markdown
Member

Why

The site no longer built on current Hugo: the theme used APIs removed years ago, and CI was pinned to Hugo 0.68.3. This rebuilds it on a current toolchain and refreshes the design. All existing page URLs are preserved.

What changed

  • Self-contained. The themes/interimm submodule is vendored into this repo (layouts, data, i18n, assets at the site root). The shared theme repo InterImm/hugo-interimm-template is not modified.
  • Much lighter. Bulma, bulmaswatch, Font Awesome, Algolia InstantSearch and several small CSS libs are replaced by one hand-written, fingerprinted stylesheet and about 40 lines of JS. Render-critical CSS/JS/HTML goes from about 620 KB to about 8 KB gzipped; no third-party requests on normal pages.
  • Design and accessibility. Automatic light/dark mode, responsive layout, skip link, keyboard-accessible dropdowns, labelled controls, reduced-motion support. Palette checked against WCAG AA.
  • SEO and metadata. Valid lang (zh-CN/en), hreflang, canonical and OG tags with an absolute baseURL, JSON-LD, sitemap in robots.txt. Section pages (archives, cities, institutes) are no longer noindex.
  • City map. Now an imagemap shortcode (Leaflet 1.9.4 with SRI) driven by front matter. The English city page was stale (old hub links, 3 of 4 markers) and now shares the current data.
  • Data and content. Emoji icons replace icon-font classes; http:// links to hosts that serve HTTPS are upgraded; the English "Welcome on Board" button now goes to /archives/ instead of the empty /guide page; a duplicate Discord link in the English footer is removed.
  • CI and deploy. Hugo 0.135.0 with current actions on ubuntu-latest. Deployment moves to GitHub Pages' official upload-pages-artifact + deploy-pages flow (no more generated master branch). Pull requests only verify the build; pushes to hugo publish; the workflow can also be run manually.

Needs a decision or a look

  • Required before the first deploy: switch the Pages source. Settings > Pages > Build and deployment > Source must change from "Deploy from a branch" (master) to GitHub Actions. Until then the deploy job fails and the current site stays live. Suggested order: merge, switch the setting, then re-run the workflow (or push). The custom domain interimm.org is stored in the Pages settings and carries over. Optionally enable "Enforce HTTPS" at the same time; it is currently off.
  • Analytics is off. The old Universal Analytics property (UA-50146153-1) stopped collecting in 2023. To enable GA4, add a measurement ID under services.googleAnalytics.id in hugo.yaml (commented hook included).
  • Deleted public files. Old /css/bulma*, /js/*, /assets/{galleria,swiper,bulma-carousel,search}, /images/{icons,social,search}, and leftover "KasualFlow" template logos under /images/logos and /uploads. Nothing in this repo references them, and the sibling projects I checked (hub, mars-map, mars-clock, comms-latency, solarsystem) don't either. Public icon, map and media paths are unchanged.
  • Removed URLs. Only empty RSS feeds, empty categories/keywords pages and the /cities/page/1/ pagination stub.
  • Left alone on purpose. /guide is still an empty page; two http:// links (exponentialdeepspace.org, computational-communication.com) stay because those hosts don't answer over HTTPS; the large .psd/.xcf design sources are still served from /images/about/; the English city page text is still Chinese.

Testing

  • hugo --minify --gc builds with no warnings on Hugo 0.135.0. The URL inventory was compared against a patched build of the old site.
  • All local links and assets in the built output resolve; sibling-project links on interimm.org return 200.
  • Checked in a browser: desktop and mobile, light and dark, Chinese and English, dropdown/Escape behaviour, mobile menu, map popups, 404 page.
  • Not tested: an actual deploy, other Hugo versions, non-Chromium browsers. The CI check on this PR will confirm the build on the pinned version.

🤖 Generated with Claude Code

emptymalei and others added 2 commits September 30, 2026 23:48
The site could not build on current Hugo (it relied on APIs removed years
ago and CI was pinned to Hugo 0.68.3). Rebuild it on a current toolchain.

- Vendor the theme into this repo and drop the submodule; layouts, data,
  i18n and assets now live at the site root. The shared theme repo is
  untouched.
- Replace Bulma, bulmaswatch, Font Awesome, Algolia InstantSearch and the
  small CSS helpers with one hand-written, fingerprinted stylesheet and
  ~40 lines of JS. Render-critical CSS/JS/HTML drops from ~620 KB to
  ~8 KB gzipped, with no third-party requests on normal pages.
- Automatic light/dark mode, accessible header (skip link, details-based
  dropdowns, labelled controls), responsive layout, reduced-motion support.
- SEO/meta: valid html lang (zh-CN/en), hreflang, canonical and OG tags
  with an absolute baseURL, JSON-LD, sitemap in robots.txt. Section pages
  are no longer noindex.
- Navigation moves to native Hugo menus per language.
- City map becomes an `imagemap` shortcode (Leaflet 1.9.4 + SRI) driven by
  front matter; the English page now shares the current marker data.
- Data files use emoji icons instead of icon-font classes; http links to
  hosts that serve https are upgraded; English "Welcome on Board" now goes
  to /archives/ instead of the empty /guide page.
- Remove dead files: vendored demo libs, KasualFlow template logos,
  Algolia package files, committed resources/_gen cache.
- Turn off the dead Universal Analytics tag (GA4 hook left in hugo.yaml).
- CI: Hugo 0.135.0, checkout@v4, actions-gh-pages@v4, ubuntu runner;
  pull requests only verify the build.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Replace the push-to-master deploy (peaceiris/actions-gh-pages) with the
build -> upload-pages-artifact -> deploy-pages flow. This drops the need
for a generated `master` branch and for contents:write, and uses current
action versions (checkout v7, upload-pages-artifact v5, deploy-pages v5).

Pull requests still only verify the build; the workflow can also be run
manually. Requires the repo's Pages source to be set to "GitHub Actions".

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@emptymalei
emptymalei merged commit 3fe093f into hugo Sep 30, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant