From 492ecee4601603c7973afda926074f3726faf391 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 21 Jul 2026 14:47:04 +0000 Subject: [PATCH 1/5] feat: Add conferences archive page with /media redirect Renders the conferences section page at /conferences/ as a media archive, modelled on the insights list but using the homepage featured cards with the cursor-follow image hover. - Enable section rendering in conferences/_index.md with SEO title, description, lead and sitemap priority - Add conferences/list.html (year-grouped, paginated, renders existing conference cards for internal and external items) - Point nav/footer Media menu entries at /conferences/ and add Media to the navigational schema menu - Replace hand-rolled single-page breadcrumbs with the shared partial now the section has a permalink, using breadcrumbs front matter for short crumb titles - Add All media link to the homepage Media section - 301 /media/ -> /conferences/ on ainsleyclark.com in vercel.json Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01W6kcAiBDx6fhz87FoB1dui --- sites/ainsley-clark/config/_default/menu.yaml | 8 ++- .../content/conferences/_index.md | 11 ++-- .../conferences/gophercon-uk-2025/index.md | 1 + .../conferences/gophercon-uk-2026/index.md | 1 + .../conferences/london-gophers/index.md | 1 + .../layouts/conferences/list.html | 66 +++++++++++++++++++ .../layouts/conferences/single.html | 33 ++-------- sites/ainsley-clark/layouts/index.html | 10 +++ vercel.json | 6 ++ 9 files changed, 102 insertions(+), 35 deletions(-) create mode 100644 sites/ainsley-clark/layouts/conferences/list.html diff --git a/sites/ainsley-clark/config/_default/menu.yaml b/sites/ainsley-clark/config/_default/menu.yaml index e7b2b031..35ad6b25 100644 --- a/sites/ainsley-clark/config/_default/menu.yaml +++ b/sites/ainsley-clark/config/_default/menu.yaml @@ -5,7 +5,7 @@ navMain: weight: 10 - identifier: media name: Media - url: "/#media" + url: /conferences/ weight: 20 - identifier: skills name: Skills @@ -26,7 +26,7 @@ footer: weight: 10 - identifier: media name: Media - url: "/#media" + url: /conferences/ weight: 20 - identifier: skills name: Skills @@ -62,6 +62,10 @@ schema: name: Home url: / weight: 10 + - identifier: media + name: Media + url: /conferences/ + weight: 15 - identifier: insights name: Insights url: /insights/ diff --git a/sites/ainsley-clark/content/conferences/_index.md b/sites/ainsley-clark/content/conferences/_index.md index 9c97d99f..93dd462b 100644 --- a/sites/ainsley-clark/content/conferences/_index.md +++ b/sites/ainsley-clark/content/conferences/_index.md @@ -1,6 +1,9 @@ --- -title: Conference Talks -build: - render: "never" - list: "always" +title: Conference Talks & Media +heading: Conference Talks +breadcrumbs: Media +lead: From GopherCon UK to London Gophers — a collection of conference talks, meetups and appearances on Go, platform engineering and building a lasting career in tech. +description: Conference talks, meetups and media appearances from Ainsley Clark — covering Go, microservices, platform engineering and careers in software. +sitemap: + priority: 0.8 --- diff --git a/sites/ainsley-clark/content/conferences/gophercon-uk-2025/index.md b/sites/ainsley-clark/content/conferences/gophercon-uk-2025/index.md index 477ed7e7..c16646b2 100644 --- a/sites/ainsley-clark/content/conferences/gophercon-uk-2025/index.md +++ b/sites/ainsley-clark/content/conferences/gophercon-uk-2025/index.md @@ -2,6 +2,7 @@ title: GopherCon UK 2025 - Deploying Go Microservices in Minutes description: How Just Eat uses tooling to deploy Go micro-services in minutes, exploring how Go Kit helps engineers to deploy complex event-driven workflows with ease. heading: GopherCon UK 2025 +breadcrumbs: GopherCon UK 2025 lead: How Just Eat uses tooling to deploy Go micro-services in minutes. This talk explores how Go Kit helps engineers to deploy complex event-driven workflows with ease. weight: 1 publishdate: 2025-08-14 diff --git a/sites/ainsley-clark/content/conferences/gophercon-uk-2026/index.md b/sites/ainsley-clark/content/conferences/gophercon-uk-2026/index.md index 1fd09df0..2aaa3679 100644 --- a/sites/ainsley-clark/content/conferences/gophercon-uk-2026/index.md +++ b/sites/ainsley-clark/content/conferences/gophercon-uk-2026/index.md @@ -2,6 +2,7 @@ title: How to Stay Passionate in Tech in the Age of AI description: How AI tooling is reshaping our sense of accomplishment as engineers, and nine practical ways to reclaim your passion and craft in this new era. heading: GopherCon UK 2026 +breadcrumbs: GopherCon UK 2026 talkTitle: How to Stay Passionate in Tech in the Age of AI lead: The lines between human and AI labour are becoming increasingly blurred. This talk explores how AI tooling is quietly reshaping our sense of accomplishment as engineers, what the research says about effort, ownership and craft, and nine practical ways to reclaim your passion in this new era. weight: 1 diff --git a/sites/ainsley-clark/content/conferences/london-gophers/index.md b/sites/ainsley-clark/content/conferences/london-gophers/index.md index 71699299..896ca70d 100644 --- a/sites/ainsley-clark/content/conferences/london-gophers/index.md +++ b/sites/ainsley-clark/content/conferences/london-gophers/index.md @@ -2,6 +2,7 @@ title: London Gophers - Deploying Go Microservices description: Learn how Just Eat deploys Go microservices with well crafted tooling, making sophisticated event-driven workflows faster to ship and easier to maintain. heading: London Gophers +breadcrumbs: London Gophers lead: Learn how Just Eat deploys Go microservices with well crafted tooling. Making sophisticated event-driven workflows faster to ship, easier to maintain & easier to run. weight: 2 publishdate: 2025-02-19 diff --git a/sites/ainsley-clark/layouts/conferences/list.html b/sites/ainsley-clark/layouts/conferences/list.html new file mode 100644 index 00000000..a110f219 --- /dev/null +++ b/sites/ainsley-clark/layouts/conferences/list.html @@ -0,0 +1,66 @@ +{{ define "main" }} + +
+
+
+
+ + {{ with .Params.heading -}} +

+ {{ . | safeHTML }} +

+ {{- else -}} + {{ warnf "No heading param provided to page: %s" .RelPermalink }} + {{- end }} + + {{ with .Params.lead -}} +

+ {{ . }} +

+ {{- end }} +
+
+
+
+ + {{ $paginator := .Paginate .Pages.ByDate.Reverse 14 -}} + {{ if $paginator.Pages -}} +
+
+ +
+ {{- $yearCounter := "" -}} + {{ range $paginator.Pages -}} + {{ $year := .PublishDate.Format "2006" }} + + {{ if ne $yearCounter $year -}} +
+

+ {{ $year }} +

+
+ {{- end }} + +
+ {{ .Render "card" }} +
+ {{ $yearCounter = $year }} + {{- end }} +
+ +
+
+ {{ partial "components/pagination.html" (dict + "prev" $paginator.Prev + "next" $paginator.Next + )}} +
+
+
+
+ {{- end }} +{{ end }} diff --git a/sites/ainsley-clark/layouts/conferences/single.html b/sites/ainsley-clark/layouts/conferences/single.html index 8178a601..3c319ebb 100644 --- a/sites/ainsley-clark/layouts/conferences/single.html +++ b/sites/ainsley-clark/layouts/conferences/single.html @@ -12,36 +12,11 @@ ===================== -->
-
- + {{ partial "components/breadcrumbs.html" (dict + "ctx" . + "margin" false + )}}
{{ with .Params.tags }} diff --git a/sites/ainsley-clark/layouts/index.html b/sites/ainsley-clark/layouts/index.html index 4e14d5cd..de108173 100644 --- a/sites/ainsley-clark/layouts/index.html +++ b/sites/ainsley-clark/layouts/index.html @@ -127,6 +127,16 @@

+
+ {{ partial "components/all-articles.html" (dict + "link" "/conferences/" + "text" "All media" + "title" "View all conference talks" + "largeSubText" "Latest Talks" + "smallSubText" "Latest Talks" + "border" true + )}} +
{{ range . }} {{ .Render "card" }} diff --git a/vercel.json b/vercel.json index 66d202d7..3b5fb4aa 100644 --- a/vercel.json +++ b/vercel.json @@ -80,6 +80,12 @@ "permanent": true, "has": [{"type": "host", "value": "ainsley\\.dev"}] }, + { + "source": "/media/", + "destination": "/conferences/", + "permanent": true, + "has": [{"type": "host", "value": "ainsleyclark\\.com"}] + }, { "source": ",/:path((?!compatible).*)", "has": [ From faf76c985de892c9d85306f0bb0493812522609d Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 21 Jul 2026 15:07:34 +0000 Subject: [PATCH 2/5] refactor: Serve media archive at /media and fix homepage media section Moves the archive to /media as the base page aggregating all media types, so future types (podcasts, press) share one archive instead of one per section. Conference talk pages keep their existing /conferences/ URLs; the bare /conferences URL 301s to /media. - Add content/media/_index.md and move the list template to layouts/media/list.html, sourcing pages from media sections - Revert conferences/_index.md to build.render never and restore the hand-rolled single-page breadcrumbs, now linking Media to /media - Point nav/footer/schema Media menu entries and the homepage All media link at /media - Flip the vercel.json redirect to /conferences -> /media - Remove the double border under the homepage All media link by dropping the first-card border-top now the link row draws one - Disable the Media vertical label scroll parallax below desktop Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01W6kcAiBDx6fhz87FoB1dui --- .../ainsley-clark/assets/scss/pages/home.scss | 13 +++++++- sites/ainsley-clark/config/_default/menu.yaml | 6 ++-- .../content/conferences/_index.md | 11 +++---- .../conferences/gophercon-uk-2025/index.md | 1 - .../conferences/gophercon-uk-2026/index.md | 1 - .../conferences/london-gophers/index.md | 1 - sites/ainsley-clark/content/media/_index.md | 9 +++++ .../layouts/conferences/single.html | 33 ++++++++++++++++--- sites/ainsley-clark/layouts/index.html | 2 +- .../layouts/{conferences => media}/list.html | 7 ++-- vercel.json | 4 +-- 11 files changed, 65 insertions(+), 23 deletions(-) create mode 100644 sites/ainsley-clark/content/media/_index.md rename sites/ainsley-clark/layouts/{conferences => media}/list.html (86%) diff --git a/sites/ainsley-clark/assets/scss/pages/home.scss b/sites/ainsley-clark/assets/scss/pages/home.scss index 39df8065..fef68509 100644 --- a/sites/ainsley-clark/assets/scss/pages/home.scss +++ b/sites/ainsley-clark/assets/scss/pages/home.scss @@ -31,8 +31,19 @@ @include media-mob { .card:first-child { - border-top: var(--card-border); margin: 0; } } } + +#media { + + // The vertical label scrolls with the section below desktop, in line + // with the surrounding content. + @include media-desk-down { + + [data-scroll-speed] { + transform: none !important; + } + } +} diff --git a/sites/ainsley-clark/config/_default/menu.yaml b/sites/ainsley-clark/config/_default/menu.yaml index 35ad6b25..84231dc2 100644 --- a/sites/ainsley-clark/config/_default/menu.yaml +++ b/sites/ainsley-clark/config/_default/menu.yaml @@ -5,7 +5,7 @@ navMain: weight: 10 - identifier: media name: Media - url: /conferences/ + url: /media/ weight: 20 - identifier: skills name: Skills @@ -26,7 +26,7 @@ footer: weight: 10 - identifier: media name: Media - url: /conferences/ + url: /media/ weight: 20 - identifier: skills name: Skills @@ -64,7 +64,7 @@ schema: weight: 10 - identifier: media name: Media - url: /conferences/ + url: /media/ weight: 15 - identifier: insights name: Insights diff --git a/sites/ainsley-clark/content/conferences/_index.md b/sites/ainsley-clark/content/conferences/_index.md index 93dd462b..9c97d99f 100644 --- a/sites/ainsley-clark/content/conferences/_index.md +++ b/sites/ainsley-clark/content/conferences/_index.md @@ -1,9 +1,6 @@ --- -title: Conference Talks & Media -heading: Conference Talks -breadcrumbs: Media -lead: From GopherCon UK to London Gophers — a collection of conference talks, meetups and appearances on Go, platform engineering and building a lasting career in tech. -description: Conference talks, meetups and media appearances from Ainsley Clark — covering Go, microservices, platform engineering and careers in software. -sitemap: - priority: 0.8 +title: Conference Talks +build: + render: "never" + list: "always" --- diff --git a/sites/ainsley-clark/content/conferences/gophercon-uk-2025/index.md b/sites/ainsley-clark/content/conferences/gophercon-uk-2025/index.md index c16646b2..477ed7e7 100644 --- a/sites/ainsley-clark/content/conferences/gophercon-uk-2025/index.md +++ b/sites/ainsley-clark/content/conferences/gophercon-uk-2025/index.md @@ -2,7 +2,6 @@ title: GopherCon UK 2025 - Deploying Go Microservices in Minutes description: How Just Eat uses tooling to deploy Go micro-services in minutes, exploring how Go Kit helps engineers to deploy complex event-driven workflows with ease. heading: GopherCon UK 2025 -breadcrumbs: GopherCon UK 2025 lead: How Just Eat uses tooling to deploy Go micro-services in minutes. This talk explores how Go Kit helps engineers to deploy complex event-driven workflows with ease. weight: 1 publishdate: 2025-08-14 diff --git a/sites/ainsley-clark/content/conferences/gophercon-uk-2026/index.md b/sites/ainsley-clark/content/conferences/gophercon-uk-2026/index.md index 2aaa3679..1fd09df0 100644 --- a/sites/ainsley-clark/content/conferences/gophercon-uk-2026/index.md +++ b/sites/ainsley-clark/content/conferences/gophercon-uk-2026/index.md @@ -2,7 +2,6 @@ title: How to Stay Passionate in Tech in the Age of AI description: How AI tooling is reshaping our sense of accomplishment as engineers, and nine practical ways to reclaim your passion and craft in this new era. heading: GopherCon UK 2026 -breadcrumbs: GopherCon UK 2026 talkTitle: How to Stay Passionate in Tech in the Age of AI lead: The lines between human and AI labour are becoming increasingly blurred. This talk explores how AI tooling is quietly reshaping our sense of accomplishment as engineers, what the research says about effort, ownership and craft, and nine practical ways to reclaim your passion in this new era. weight: 1 diff --git a/sites/ainsley-clark/content/conferences/london-gophers/index.md b/sites/ainsley-clark/content/conferences/london-gophers/index.md index 896ca70d..71699299 100644 --- a/sites/ainsley-clark/content/conferences/london-gophers/index.md +++ b/sites/ainsley-clark/content/conferences/london-gophers/index.md @@ -2,7 +2,6 @@ title: London Gophers - Deploying Go Microservices description: Learn how Just Eat deploys Go microservices with well crafted tooling, making sophisticated event-driven workflows faster to ship and easier to maintain. heading: London Gophers -breadcrumbs: London Gophers lead: Learn how Just Eat deploys Go microservices with well crafted tooling. Making sophisticated event-driven workflows faster to ship, easier to maintain & easier to run. weight: 2 publishdate: 2025-02-19 diff --git a/sites/ainsley-clark/content/media/_index.md b/sites/ainsley-clark/content/media/_index.md new file mode 100644 index 00000000..c72277a5 --- /dev/null +++ b/sites/ainsley-clark/content/media/_index.md @@ -0,0 +1,9 @@ +--- +title: Media & Conference Talks +heading: Media +breadcrumbs: Media +lead: From GopherCon UK to London Gophers — a collection of conference talks, meetups and appearances on Go, platform engineering and building a lasting career in tech. +description: Conference talks, meetups and media appearances from Ainsley Clark — covering Go, microservices, platform engineering and careers in software. +sitemap: + priority: 0.8 +--- diff --git a/sites/ainsley-clark/layouts/conferences/single.html b/sites/ainsley-clark/layouts/conferences/single.html index 3c319ebb..e6d3e3c1 100644 --- a/sites/ainsley-clark/layouts/conferences/single.html +++ b/sites/ainsley-clark/layouts/conferences/single.html @@ -12,11 +12,36 @@ ===================== -->
+
- {{ partial "components/breadcrumbs.html" (dict - "ctx" . - "margin" false - )}} +
{{ with .Params.tags }} diff --git a/sites/ainsley-clark/layouts/index.html b/sites/ainsley-clark/layouts/index.html index de108173..9bd3a4d5 100644 --- a/sites/ainsley-clark/layouts/index.html +++ b/sites/ainsley-clark/layouts/index.html @@ -129,7 +129,7 @@

{{ partial "components/all-articles.html" (dict - "link" "/conferences/" + "link" "/media/" "text" "All media" "title" "View all conference talks" "largeSubText" "Latest Talks" diff --git a/sites/ainsley-clark/layouts/conferences/list.html b/sites/ainsley-clark/layouts/media/list.html similarity index 86% rename from sites/ainsley-clark/layouts/conferences/list.html rename to sites/ainsley-clark/layouts/media/list.html index a110f219..c319898c 100644 --- a/sites/ainsley-clark/layouts/conferences/list.html +++ b/sites/ainsley-clark/layouts/media/list.html @@ -1,7 +1,10 @@ {{ define "main" }} + {{ $media := where site.RegularPages "Section" "in" (slice "conferences") }}
@@ -27,7 +30,7 @@

- {{ $paginator := .Paginate .Pages.ByDate.Reverse 14 -}} + {{ $paginator := .Paginate $media.ByDate.Reverse 14 -}} {{ if $paginator.Pages -}}
diff --git a/vercel.json b/vercel.json index 3b5fb4aa..ae449531 100644 --- a/vercel.json +++ b/vercel.json @@ -81,8 +81,8 @@ "has": [{"type": "host", "value": "ainsley\\.dev"}] }, { - "source": "/media/", - "destination": "/conferences/", + "source": "/conferences/", + "destination": "/media/", "permanent": true, "has": [{"type": "host", "value": "ainsleyclark\\.com"}] }, From d092f9c813016e86bed806725c9938cfa70e2aa1 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 21 Jul 2026 15:10:11 +0000 Subject: [PATCH 3/5] style: Remove year grouping from media archive list Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01W6kcAiBDx6fhz87FoB1dui --- sites/ainsley-clark/layouts/media/list.html | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/sites/ainsley-clark/layouts/media/list.html b/sites/ainsley-clark/layouts/media/list.html index c319898c..d5cc8463 100644 --- a/sites/ainsley-clark/layouts/media/list.html +++ b/sites/ainsley-clark/layouts/media/list.html @@ -36,22 +36,10 @@

- {{- $yearCounter := "" -}} {{ range $paginator.Pages -}} - {{ $year := .PublishDate.Format "2006" }} - - {{ if ne $yearCounter $year -}} -
-

- {{ $year }} -

-
- {{- end }} -
{{ .Render "card" }}
- {{ $yearCounter = $year }} {{- end }}
From 15696e08d1de5bb418e6cfb43767a35a3c70da79 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 21 Jul 2026 18:43:47 +0000 Subject: [PATCH 4/5] content: Shorten GopherCon UK 2026 lead to match other cards Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01W6kcAiBDx6fhz87FoB1dui --- .../content/conferences/gophercon-uk-2026/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/ainsley-clark/content/conferences/gophercon-uk-2026/index.md b/sites/ainsley-clark/content/conferences/gophercon-uk-2026/index.md index 1fd09df0..db546784 100644 --- a/sites/ainsley-clark/content/conferences/gophercon-uk-2026/index.md +++ b/sites/ainsley-clark/content/conferences/gophercon-uk-2026/index.md @@ -3,7 +3,7 @@ title: How to Stay Passionate in Tech in the Age of AI description: How AI tooling is reshaping our sense of accomplishment as engineers, and nine practical ways to reclaim your passion and craft in this new era. heading: GopherCon UK 2026 talkTitle: How to Stay Passionate in Tech in the Age of AI -lead: The lines between human and AI labour are becoming increasingly blurred. This talk explores how AI tooling is quietly reshaping our sense of accomplishment as engineers, what the research says about effort, ownership and craft, and nine practical ways to reclaim your passion in this new era. +lead: This talk explores how AI tooling is quietly reshaping our sense of accomplishment as engineers, and practical ways to reclaim your passion in this new era. weight: 1 publishdate: 2026-07-21 pageColour: white From a7a07620612c16b826f495064d94914e7a9d97a9 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 21 Jul 2026 18:43:48 +0000 Subject: [PATCH 5/5] style: Tighten gap between All media link and first homepage card Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01W6kcAiBDx6fhz87FoB1dui --- sites/ainsley-clark/assets/scss/pages/home.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/sites/ainsley-clark/assets/scss/pages/home.scss b/sites/ainsley-clark/assets/scss/pages/home.scss index fef68509..99d34857 100644 --- a/sites/ainsley-clark/assets/scss/pages/home.scss +++ b/sites/ainsley-clark/assets/scss/pages/home.scss @@ -32,6 +32,7 @@ .card:first-child { margin: 0; + padding-top: 0; } } }