From 0548794041f00fa9238d27f11e2178c82f706433 Mon Sep 17 00:00:00 2001 From: alexander-yevsyukov Date: Fri, 30 Oct 2026 16:25:27 +0000 Subject: [PATCH 1/7] Add task doc for the Hugo v0.169.0 upgrade See SpineEventEngine/documentation#89. Co-Authored-By: Claude Opus 5.5 --- .agents/tasks/hugo-0-169-upgrade.md | 55 +++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 .agents/tasks/hugo-0-169-upgrade.md diff --git a/.agents/tasks/hugo-0-169-upgrade.md b/.agents/tasks/hugo-0-169-upgrade.md new file mode 100644 index 00000000..6e9d3d07 --- /dev/null +++ b/.agents/tasks/hugo-0-169-upgrade.md @@ -0,0 +1,55 @@ +--- +slug: hugo-0-169-upgrade +branch: hugo-0.169 +owner: claude +status: in-progress +started: 2026-10-30 +--- + +## Goal + +The site builds and deploys on Hugo v0.169.0 with the latest `site-commons`, +and CI checks links with the same Hugo version. + +## Context + +- SpineEventEngine/documentation#89 — upgrade Hugo to v0.169.0 (meta-issue; + also `documentation` and `site-commons`). +- SpineEventEngine/documentation#92 — Hugo v0.162.0+ rejects `text/html` content + files. The full-screen architecture diagram that `documentation/docs` brings in + is one. Hugo ignores `security` set in an imported module, so the setting must + be in this site's own config. +- The latest `site-commons` (`b79100d8a139`) declares + `module.hugoVersion.min = '0.169.0'` and needs Go 1.27.3, so it cannot land + without the Hugo bump. +- `.github/workflows/check-links.yml` comes from `config`, which still pins + `HUGO_VERSION: 0.161.1`. Bumping it here is needed for CI; `config` needs + the same bump, or the next `./config/pull` reverts it. +- The `documentation` side is on its `hugo-0.169` branch, not merged yet, + so `github.com/SpineEventEngine/documentation/docs` stays at its current version. + +## Plan + +- [x] Allow HTML content in `site/config/_default/hugo.toml` (documentation#92). +- [x] `hugo mod get -u github.com/SpineEventEngine/site-commons` in `site/`. +- [x] Bump `HUGO_VERSION` to `0.169.0` in `gh-pages.yml` and `check-links.yml`. +- [x] Update Hugo and Go prerequisites in `README.md` and `docs/project.md`. +- [x] Build with v0.169.0: `hugo --minify` and `hugo -e development`, + no errors and no new warnings. +- [x] Check the full-screen diagram page: script and PDF. +- [x] Check that CI's older Go fetches Go 1.27.3 by itself. +- [ ] Run the pre-PR checklist; open the PR. + +## Log + +- 2026-10-30 — drafted and started (run delegated by the `documentation` session). +- 2026-10-30 — both builds pass on v0.169.0; the only warning is the theme's + LibSass deprecation. The full-screen diagram page renders with its script and + the PDF. Its one console error, `Cannot read properties of null (reading '__k')`, + is on live spine.io too. +- 2026-10-30 — compared with the old theme on v0.169.0: pages change only as + site-commons#37 intends (code palettes bundled into `main.css`, no + `/code-theme/*.css`, the theme falls back to the system preference), plus + trimmed whitespace. The code-theme toggle switches the palettes. +- 2026-10-30 — `gh-pages.yml` sets up no Go. With Go 1.26.4 and an empty module + cache, `go` downloads Go 1.27.3 by itself (`GOTOOLCHAIN=auto`) and the build passes. From b1a46557b9fa2964d5e3b7894742ae804f3b4f9e Mon Sep 17 00:00:00 2001 From: alexander-yevsyukov Date: Fri, 30 Oct 2026 16:25:27 +0000 Subject: [PATCH 2/7] Allow HTML content files in the site Since v0.162.0, Hugo denies `text/html` content files by default. The full-screen architecture diagram that `documentation/docs` brings in is one, so the build fails on newer Hugo. Hugo ignores the `security` settings of an imported module, so the site config allows HTML itself. See SpineEventEngine/documentation#92. Co-Authored-By: Claude Opus 5.5 --- site/config/_default/hugo.toml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/site/config/_default/hugo.toml b/site/config/_default/hugo.toml index 0bbc120e..03650197 100644 --- a/site/config/_default/hugo.toml +++ b/site/config/_default/hugo.toml @@ -36,6 +36,11 @@ disableKinds = ['taxonomy', 'term'] id = '38b1283993fe8d87c0678be39b07ada2' [security] + # Since v0.162.0, Hugo denies HTML content files by default. The full-screen architecture + # diagram that `documentation/docs` brings in is such a file, so HTML is allowed; Org mode + # stays denied. Hugo ignores the `security` settings of an imported module, so this setting + # has to be in the site config. + allowContent = ['! ^text/org$'] [security.exec] osEnv = ['(?i)^(PATH|PATHEXT|APPDATA|TMP|TEMP|TERM|HOME)$'] # Hugo 0.161.0+ runs PostCSS under Node's --permission sandbox, which blocks From 5630c9325599386914d2d31a71cfa30c6ef5a499 Mon Sep 17 00:00:00 2001 From: alexander-yevsyukov Date: Fri, 30 Oct 2026 16:25:27 +0000 Subject: [PATCH 3/7] Update `site-commons` and move to Hugo v0.169.0 The theme now bundles the code-highlighting palettes into `main.css` and requires Hugo v0.169.0 and Go 1.27.3. `go mod` raised the `go` directive of `site/go.mod` to match. `check-links.yml` comes from `config`, which needs the same bump. See SpineEventEngine/documentation#89. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/check-links.yml | 2 +- .github/workflows/gh-pages.yml | 2 +- README.md | 4 ++-- docs/project.md | 2 +- site/go.mod | 4 ++-- site/go.sum | 2 ++ 6 files changed, 9 insertions(+), 7 deletions(-) diff --git a/.github/workflows/check-links.yml b/.github/workflows/check-links.yml index 6755ff91..8dd863e7 100644 --- a/.github/workflows/check-links.yml +++ b/.github/workflows/check-links.yml @@ -12,7 +12,7 @@ on: workflow_dispatch: env: - HUGO_VERSION: 0.161.1 + HUGO_VERSION: 0.169.0 LYCHEE_RELEASE: "lychee-x86_64-unknown-linux-gnu.tar.gz" LYCHEE_VERSION_TAG: "lychee-v0.24.2" # SHA256 of the above tarball, pinned at download time. Update alongside diff --git a/.github/workflows/gh-pages.yml b/.github/workflows/gh-pages.yml index 96196126..b505fcad 100644 --- a/.github/workflows/gh-pages.yml +++ b/.github/workflows/gh-pages.yml @@ -10,7 +10,7 @@ on: workflow_dispatch: env: - HUGO_VERSION: 0.161.1 + HUGO_VERSION: 0.169.0 jobs: deploy: diff --git a/README.md b/README.md index 909be5bd..6ed435e7 100644 --- a/README.md +++ b/README.md @@ -18,9 +18,9 @@ as a Hugo Module. This repository does not invoke `embed-code` itself. ## Prerequisites 1. JDK 17+. -2. [Go][go] `1.22` or newer. +2. [Go][go] `1.27.3` or newer (matches `site/go.mod`). 3. [Node.js][nodejs] `18+`. -4. [Hugo Extended][hugo-quick-start] in version `v0.161.1` or higher. +4. [Hugo Extended][hugo-quick-start] in version `v0.169.0` or higher. ## Configuration diff --git a/docs/project.md b/docs/project.md index 8cf191de..d3b07501 100644 --- a/docs/project.md +++ b/docs/project.md @@ -44,7 +44,7 @@ wrapper only** — no JVM compilation happens here. ## Constraints & guardrails -- **Hugo Extended version is pinned.** Use `v0.161.1` or higher of the +- **Hugo Extended version is pinned.** Use `v0.169.0` or higher of the *Extended* build. A mismatched/non-extended Hugo will break the theme pipeline and SCSS. - **The `config/` submodule is pinned to a specific commit.** Do not bump diff --git a/site/go.mod b/site/go.mod index 803688c8..e5d881a7 100644 --- a/site/go.mod +++ b/site/go.mod @@ -1,10 +1,10 @@ module github.com/SpineEventEngine/SpineEventEngine.github.io -go 1.22.0 +go 1.27.3 require ( github.com/SpineEventEngine/documentation/docs v0.0.0-20261002133928-aeca7bbbea14 // indirect - github.com/SpineEventEngine/site-commons v0.0.0-20261001182820-d2b63aedd0f4 // indirect + github.com/SpineEventEngine/site-commons v0.0.0-20261030153256-b79100d8a139 // indirect github.com/SpineEventEngine/validation/docs v0.0.0-20260902132507-6465029c83b9 // indirect github.com/gohugoio/hugo-mod-bootstrap-scss/v5 v5.20300.20800 // indirect github.com/gohugoio/hugo-mod-jslibs-dist/popperjs/v2 v2.21100.20000 // indirect diff --git a/site/go.sum b/site/go.sum index 2dfad923..daa1de62 100644 --- a/site/go.sum +++ b/site/go.sum @@ -8,6 +8,8 @@ github.com/SpineEventEngine/documentation/docs v0.0.0-20261002133928-aeca7bbbea1 github.com/SpineEventEngine/documentation/docs v0.0.0-20261002133928-aeca7bbbea14/go.mod h1:I7viy1Kfs2oYhwT7qLKL5Bem0i7ktLAOKSZGN/2Y7P8= github.com/SpineEventEngine/site-commons v0.0.0-20261001182820-d2b63aedd0f4 h1:PoGISjoFRXwKpWwG/oTaGuSG6qF3I3THV2p+/r7qgk0= github.com/SpineEventEngine/site-commons v0.0.0-20261001182820-d2b63aedd0f4/go.mod h1:tkAl4StIREKmz9r5PiJtuDhvwMMkFXKWcaTyxhIikho= +github.com/SpineEventEngine/site-commons v0.0.0-20261030153256-b79100d8a139 h1:DOYFVaEw9v3dML+40FysPUaTczyqK5+LqWJZQkK4Hs0= +github.com/SpineEventEngine/site-commons v0.0.0-20261030153256-b79100d8a139/go.mod h1:TfFFABXgPop1uc4eBdfWZF0Es06TGmNHfReiOzkZqrk= github.com/SpineEventEngine/validation/docs v0.0.0-20260205202311-181ba8844107 h1:2DHRIwwLudP6l3Kh7Nd4KR4uXcsDtIAXE9adW68ivME= github.com/SpineEventEngine/validation/docs v0.0.0-20260205202311-181ba8844107/go.mod h1:STHyjXejVvPmfrxujfDvhofmjg55mMk+fwI3TVL0b4Y= github.com/SpineEventEngine/validation/docs v0.0.0-20260522175555-cf09b4c706ea h1:YEMSlr5KJXkZdK7epMSnN+6HSr2K41n8O3c8OhtF8pM= From 1fcdc4640fb6cdbdb183dbaebf5e68f16a82c94e Mon Sep 17 00:00:00 2001 From: alexander-yevsyukov Date: Fri, 30 Oct 2026 16:27:27 +0000 Subject: [PATCH 4/7] Clarify the comment on `security.allowContent` Hugo denies Org mode content files by default too, which is why the comment says Org mode stays denied. Co-Authored-By: Claude Opus 5.5 --- site/config/_default/hugo.toml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/site/config/_default/hugo.toml b/site/config/_default/hugo.toml index 03650197..939f4827 100644 --- a/site/config/_default/hugo.toml +++ b/site/config/_default/hugo.toml @@ -36,10 +36,10 @@ disableKinds = ['taxonomy', 'term'] id = '38b1283993fe8d87c0678be39b07ada2' [security] - # Since v0.162.0, Hugo denies HTML content files by default. The full-screen architecture - # diagram that `documentation/docs` brings in is such a file, so HTML is allowed; Org mode - # stays denied. Hugo ignores the `security` settings of an imported module, so this setting - # has to be in the site config. + # Since v0.162.0, Hugo denies HTML and Org mode content files by default. The full-screen + # architecture diagram that `documentation/docs` brings in is an HTML file, so HTML is allowed; + # Org mode stays denied. Hugo ignores the `security` settings of an imported module, so this + # setting has to be in the site config. allowContent = ['! ^text/org$'] [security.exec] osEnv = ['(?i)^(PATH|PATHEXT|APPDATA|TMP|TEMP|TERM|HOME)$'] From a5902ffc12898ff0769e60e0fb5f5271bca4572f Mon Sep 17 00:00:00 2001 From: alexander-yevsyukov Date: Fri, 30 Oct 2026 16:38:33 +0000 Subject: [PATCH 5/7] Log the pre-PR results in the task doc Co-Authored-By: Claude Opus 5.5 --- .agents/tasks/hugo-0-169-upgrade.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.agents/tasks/hugo-0-169-upgrade.md b/.agents/tasks/hugo-0-169-upgrade.md index 6e9d3d07..2937c32b 100644 --- a/.agents/tasks/hugo-0-169-upgrade.md +++ b/.agents/tasks/hugo-0-169-upgrade.md @@ -2,7 +2,7 @@ slug: hugo-0-169-upgrade branch: hugo-0.169 owner: claude -status: in-progress +status: in-review started: 2026-10-30 --- @@ -38,7 +38,7 @@ and CI checks links with the same Hugo version. no errors and no new warnings. - [x] Check the full-screen diagram page: script and PDF. - [x] Check that CI's older Go fetches Go 1.27.3 by itself. -- [ ] Run the pre-PR checklist; open the PR. +- [x] Run the pre-PR checklist; open the PR. ## Log @@ -53,3 +53,9 @@ and CI checks links with the same Hugo version. trimmed whitespace. The code-theme toggle switches the palettes. - 2026-10-30 — `gh-pages.yml` sets up no Go. With Go 1.26.4 and an empty module cache, `go` downloads Go 1.27.3 by itself (`GOTOOLCHAIN=auto`) and the build passes. +- 2026-10-30 — pre-PR: `review-docs` approves; its nit on the `allowContent` + comment is applied. Link check: the Lychee run passes, but, as in `documentation`, + it extracts only the `` URLs because of the inline jQuery block in every + page's ``. CI has the same blind spot. With that block stripped, 10 URLs + are broken, the same on `master`: 9 in `validation/docs` and a Gitter link that + now redirects. None comes from this branch. From 05d9b1bc63acbb351520fae734dfd57d557dd8e9 Mon Sep 17 00:00:00 2001 From: alexander-yevsyukov Date: Fri, 30 Oct 2026 17:15:04 +0000 Subject: [PATCH 6/7] Get documentation updates Move `documentation/docs` to the `documentation` master, which has SpineEventEngine/documentation#94 merged. That PR changes only `docs/_preview`, a separate Go module, so the imported content and the built site stay the same; only the pinned version changes. Co-Authored-By: Claude Opus 5.5 --- site/go.mod | 2 +- site/go.sum | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/site/go.mod b/site/go.mod index e5d881a7..8e4a263d 100644 --- a/site/go.mod +++ b/site/go.mod @@ -3,7 +3,7 @@ module github.com/SpineEventEngine/SpineEventEngine.github.io go 1.27.3 require ( - github.com/SpineEventEngine/documentation/docs v0.0.0-20261002133928-aeca7bbbea14 // indirect + github.com/SpineEventEngine/documentation/docs v0.0.0-20261030164337-3045fa4e0dd6 // indirect github.com/SpineEventEngine/site-commons v0.0.0-20261030153256-b79100d8a139 // indirect github.com/SpineEventEngine/validation/docs v0.0.0-20260902132507-6465029c83b9 // indirect github.com/gohugoio/hugo-mod-bootstrap-scss/v5 v5.20300.20800 // indirect diff --git a/site/go.sum b/site/go.sum index daa1de62..a2b7fd06 100644 --- a/site/go.sum +++ b/site/go.sum @@ -6,6 +6,8 @@ github.com/SpineEventEngine/documentation/docs v0.0.0-20260930201256-1d7c3e1021b github.com/SpineEventEngine/documentation/docs v0.0.0-20260930201256-1d7c3e1021be/go.mod h1:fEPcJFgW19NDIdb/zGEXVPcUNVMGEBkqfgAZI0VMbVk= github.com/SpineEventEngine/documentation/docs v0.0.0-20261002133928-aeca7bbbea14 h1:DbEI4KZEG35Ds4GQ7N/XcniiNuA8mIz3D1muR/ZyDGM= github.com/SpineEventEngine/documentation/docs v0.0.0-20261002133928-aeca7bbbea14/go.mod h1:I7viy1Kfs2oYhwT7qLKL5Bem0i7ktLAOKSZGN/2Y7P8= +github.com/SpineEventEngine/documentation/docs v0.0.0-20261030164337-3045fa4e0dd6 h1:MtFRzn0iBPUGkMczIR4ofRGF36EVU+TeCJeqWOAg+iM= +github.com/SpineEventEngine/documentation/docs v0.0.0-20261030164337-3045fa4e0dd6/go.mod h1:I7viy1Kfs2oYhwT7qLKL5Bem0i7ktLAOKSZGN/2Y7P8= github.com/SpineEventEngine/site-commons v0.0.0-20261001182820-d2b63aedd0f4 h1:PoGISjoFRXwKpWwG/oTaGuSG6qF3I3THV2p+/r7qgk0= github.com/SpineEventEngine/site-commons v0.0.0-20261001182820-d2b63aedd0f4/go.mod h1:tkAl4StIREKmz9r5PiJtuDhvwMMkFXKWcaTyxhIikho= github.com/SpineEventEngine/site-commons v0.0.0-20261030153256-b79100d8a139 h1:DOYFVaEw9v3dML+40FysPUaTczyqK5+LqWJZQkK4Hs0= From f599955439c0dc691669eb0d48aa64e5bf891456 Mon Sep 17 00:00:00 2001 From: alexander-yevsyukov Date: Fri, 30 Oct 2026 17:15:04 +0000 Subject: [PATCH 7/7] Log the `documentation/docs` update in the task doc Co-Authored-By: Claude Opus 5.5 --- .agents/tasks/hugo-0-169-upgrade.md | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/.agents/tasks/hugo-0-169-upgrade.md b/.agents/tasks/hugo-0-169-upgrade.md index 2937c32b..27928de0 100644 --- a/.agents/tasks/hugo-0-169-upgrade.md +++ b/.agents/tasks/hugo-0-169-upgrade.md @@ -23,10 +23,11 @@ and CI checks links with the same Hugo version. `module.hugoVersion.min = '0.169.0'` and needs Go 1.27.3, so it cannot land without the Hugo bump. - `.github/workflows/check-links.yml` comes from `config`, which still pins - `HUGO_VERSION: 0.161.1`. Bumping it here is needed for CI; `config` needs - the same bump, or the next `./config/pull` reverts it. -- The `documentation` side is on its `hugo-0.169` branch, not merged yet, - so `github.com/SpineEventEngine/documentation/docs` stays at its current version. + `HUGO_VERSION: 0.161.1`. Bumping it here is needed for CI; SpineEventEngine/config#823 + makes the same bump there, or the next `./config/pull` reverts it. +- The `documentation` side is SpineEventEngine/documentation#94, merged. It changes + only `docs/_preview`, a separate Go module, so the `documentation/docs` content + that this site imports is the same. ## Plan @@ -39,6 +40,7 @@ and CI checks links with the same Hugo version. - [x] Check the full-screen diagram page: script and PDF. - [x] Check that CI's older Go fetches Go 1.27.3 by itself. - [x] Run the pre-PR checklist; open the PR. +- [x] Update `github.com/SpineEventEngine/documentation/docs` to `documentation` `master`. ## Log @@ -59,3 +61,7 @@ and CI checks links with the same Hugo version. page's ``. CI has the same blind spot. With that block stripped, 10 URLs are broken, the same on `master`: 9 in `validation/docs` and a Gitter link that now redirects. None comes from this branch. +- 2026-10-30 — `documentation/docs` moved to `3045fa4` (after documentation#94). + Only the pinned version changes: the extracted module is identical, and so is the + built site, apart from the random IDs of cloaked e-mail addresses. + `validation/docs` stays where it was.