diff --git a/.agent/working-memory/plan-awesome-list.md b/.agent/working-memory/plan-awesome-list.md index 219c321d..2385a807 100644 --- a/.agent/working-memory/plan-awesome-list.md +++ b/.agent/working-memory/plan-awesome-list.md @@ -2,7 +2,7 @@ **Date:** 2026-03-28 **Source repo:** https://github.com/openmodelingfoundation/awesome-modeling-practices -**Target page:** `/resources/awesome-modeling-practices/` (new section, or under `/standards/`) +**Target page:** `/resources/awesome-modeling-practices/` --- diff --git a/.agent/working-memory/plan-navigation-resources-refactor.md b/.agent/working-memory/plan-navigation-resources-refactor.md new file mode 100644 index 00000000..3ac3a484 --- /dev/null +++ b/.agent/working-memory/plan-navigation-resources-refactor.md @@ -0,0 +1,38 @@ +# Promote Working Groups to Top-Level Navigation and Add a Resources Index + +## Summary + +Move Working Groups out of About and make it a top-level section. Add a new top-level Resources page that acts as an index of OMF outputs. Keep `/standards/` as the canonical home for standards content; `/resources/` should link to it rather than duplicating it. + +## Proposed changes + +- Move `content/en/about/working-groups/` to `content/en/working-groups/`. +- Add Hugo aliases for every moved Working Groups page so existing `/about/working-groups/...` URLs keep working. +- Create `content/en/resources/_index.md` plus minimal child pages for publications, best practices, and repositories. +- Add a featured Standards link on `/resources/` that points to `/standards/`. +- Make the top nav order explicit: About, Governance, Working Groups, Standards, Resources, Contribute. +- Update internal links that still point to `/about/working-groups/`. + +## Constraints + +- Navigation is currently driven by section front matter `menu.main`, not a centralized `menus.main` block in `hugo.yaml`. +- Avoid a duplicate top-level menu definition unless existing section `menu.main` entries are removed. +- Keep this as a content/front matter refactor; do not rewrite templates unless the move exposes a real theme limitation. +- Validate with the containerized build path: `make render`. + +## Acceptance criteria + +- Working Groups appears in the top-level nav and is no longer nested under About. +- Resources appears in the top-level nav. +- `/working-groups/` is canonical. +- Old Working Groups URLs under `/about/working-groups/...` resolve via aliases. +- `/resources/` exists as an outputs index. +- `/resources/` includes a Standards block linking to `/standards/`. +- `/resources/` includes links for publications, best practices, and repositories, including `openmodelingfoundation/awesome-modeling-practices`. +- The site builds successfully with `make render`. + +## Implementation notes + +- Add aliases to every moved Working Groups page, not just the section landing page. +- Known internal links to update include `content/en/_index.html` and `content/en/about/history-events-and-activities.md`. +- Do not add a `standards-documents` subsection under Resources. \ No newline at end of file diff --git a/.agent/working-memory/session.md b/.agent/working-memory/session.md index ca8d447e..80959dc7 100644 --- a/.agent/working-memory/session.md +++ b/.agent/working-memory/session.md @@ -3,6 +3,7 @@ ## Active task - awesome-modeling-practices embed plan is ready: `.agent/working-memory/plan-awesome-list.md`. +- navigation/resources refactor issue plan is ready: `.agent/working-memory/plan-navigation-resources-refactor.md`. - Next step on request: implement the planned integration. ## Notes by date (newest first) diff --git a/.env b/.env index 6fb88ff0..d4c2da7d 100644 --- a/.env +++ b/.env @@ -1,2 +1,2 @@ -HUGO_VERSION="v0.159.1" +HUGO_VERSION="v0.160.1" DOCSY_VERSION="v0.14.3" diff --git a/.github/workflows/gh-pages.yml b/.github/workflows/gh-pages.yml index 32163e57..31bffa9c 100644 --- a/.github/workflows/gh-pages.yml +++ b/.github/workflows/gh-pages.yml @@ -49,12 +49,14 @@ jobs: env: BASE_URL: ${{ steps.pages.outputs.base_url }} run: | + BUILD_TIMESTAMP_UTC="$(date -u +"%Y-%m-%dT%H:%M:%SZ")" docker compose build --pull hugo docker compose run --rm --no-deps \ --entrypoint sh \ --user "$(id -u):$(id -g)" \ -e HUGO_CACHEDIR="${HUGO_CACHE_CONTAINER_DIR}" \ -e BASE_URL="${BASE_URL}" \ + -e BUILD_TIMESTAMP_UTC="${BUILD_TIMESTAMP_UTC}" \ hugo -c '.github/scripts/build-site.sh' - name: Save build cache diff --git a/AGENTS.md b/AGENTS.md index 7cbdb2fb..6bd8b159 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -45,7 +45,7 @@ Agent-generated artifacts must be written under `.agent/`. ## Important dependency versions -- Hugo (Docker build arg): `0.159.1` (`Dockerfile`) +- Hugo (Docker build arg): `0.160.1` (`Dockerfile`) - Docsy module: `v0.14.3` (`go.mod` and `Dockerfile`) - Go toolchain declaration: `1.18` (`go.mod`) - npm package manifest version: `1.0.0` (`package.json`) diff --git a/Dockerfile b/Dockerfile index e89d3150..7f47d158 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -ARG HUGO_VERSION=v0.159.1 +ARG HUGO_VERSION=v0.160.1 FROM ghcr.io/gohugoio/hugo:${HUGO_VERSION} ARG DOCSY_VERSION=v0.14.3 diff --git a/assets/scss/_styles_project.scss b/assets/scss/_styles_project.scss index ab6c50be..1df27fc9 100644 --- a/assets/scss/_styles_project.scss +++ b/assets/scss/_styles_project.scss @@ -135,3 +135,105 @@ footer { visibility: hidden; } } + +.awesome-list-content { + max-width: 78ch; + + .awesome-list-intro { + color: $gray-700; + font-size: 1.05rem; + margin-bottom: 1.25rem; + } + + .awesome-list-meta { + border-left: 4px solid $secondary; + background: rgba($secondary, 0.06); + } + + .awesome-list-rendered { + h2 { + margin-top: 2.25rem; + margin-bottom: 0.75rem; + padding-bottom: 0.35rem; + border-bottom: 2px solid rgba($primary, 0.2); + letter-spacing: 0.01em; + } + + h3 { + margin-top: 1.5rem; + margin-bottom: 0.35rem; + font-size: 1.15rem; + } + + p, + li { + line-height: 1.7; + } + + > ul:first-of-type { + display: flex; + flex-wrap: wrap; + list-style: none; + gap: 0.5rem; + padding-left: 0; + margin: 1rem 0 1.5rem; + + li { + margin: 0; + } + + a { + display: inline-block; + font-size: 0.85rem; + line-height: 1.25; + text-decoration: none; + color: $primary; + background: rgba($secondary, 0.14); + border: 1px solid rgba($secondary, 0.35); + border-radius: 999px; + padding: 0.35rem 0.7rem; + transition: all 0.2s ease; + } + + a:hover, + a:focus-visible { + background: rgba($secondary, 0.22); + border-color: rgba($secondary, 0.55); + outline: none; + } + } + + ul { + padding-left: 1.25rem; + } + + ul li { + margin-bottom: 0.55rem; + } + + ul li::marker { + color: $secondary; + } + + a { + text-underline-offset: 0.14em; + } + + a:focus-visible { + outline: 2px solid rgba($secondary, 0.8); + outline-offset: 2px; + border-radius: 2px; + } + } + + @include media-breakpoint-down(md) { + .awesome-list-rendered > ul:first-of-type { + gap: 0.4rem; + + a { + font-size: 0.8rem; + padding: 0.3rem 0.58rem; + } + } + } +} diff --git a/content/en/_index.html b/content/en/_index.html index de8b3211..444f791e 100644 --- a/content/en/_index.html +++ b/content/en/_index.html @@ -42,7 +42,7 @@
View OMF standards and guidance in the dedicated standards section.
+ View OMF standards +Browse publications, manuscripts, and reports related to OMF activities.
+ }}">Browse publications +Useful modeling resources curated by the OMF Early Career Scholars Working Group.
+ }}">Open awesome list +