Skip to content

Meetup: Allow URLs as slides in addition to local PDF filenames#1440

Merged
andygrunwald merged 1 commit intomainfrom
andygrunwald/meetup-talk-slides-allow-urls
May 8, 2026
Merged

Meetup: Allow URLs as slides in addition to local PDF filenames#1440
andygrunwald merged 1 commit intomainfrom
andygrunwald/meetup-talk-slides-allow-urls

Conversation

@andygrunwald
Copy link
Copy Markdown
Contributor

Summary

  • talks[].slides was always treated as a bare PDF filename; Talk.astro unconditionally prepended /meetup/<region>/slides/. That breaks the moment a speaker's slide deck only exists as a hosted web app.
  • The April 2026 Düsseldorf meetup hit this: Brecht De Ruyte's "CSS State Machine" lives at https://talks.utilitybend.com/css-state-machine/info, while Alaa Reuschenbach & Lucas Dohmen's "Performance over Perfection" was a PDF.
  • Talk.astro now branches on startsWith('http://') / startsWith('https://'): URLs are used verbatim, anything else keeps today's prefix behavior. One-line ternary on the existing href, no new helpers.
  • Schema stays z.string().optional() — a stricter union would reject the existing unquoted filename 2603-wolfgang_ StopCoding_….pdf (with a space) and any future non-PDF assets. A short comment above the field documents the dual shape so future contributors don't have to read the renderer.
  • Filled in the two missing slides entries on 2604-duesseldorf.md (URL on talk 1, PDF on talk 2) and shipped the 2604-alaa-reuschenbach-and-lucas-dohmen.pdf asset that talk 2 references.

Test plan

  • make build — site builds (475 pages)
  • make test-javascript — 55/55 vitest tests pass
  • Verified rendered HTML at dist/meetup/rhine-ruhr/archive/index.html:
    • CSS State Machine → https://talks.utilitybend.com/css-state-machine/info (verbatim)
    • Performance over Perfection → /meetup/rhine-ruhr/slides/2604-alaa-reuschenbach-and-lucas-dohmen.pdf (prefixed)
    • 2602 talk still → /meetup/rhine-ruhr/slides/2602-roland-golla.pdf (non-regression)
    • No slides/https://… strings anywhere in dist/
  • In the live site after deploy, click both new "Download slides of the talk" links and confirm they reach the right destination
  • Spot-check an Alps meetup with slides (e.g. 2603-kaino) on /meetup/alps/archive/ to confirm no behavior change

🤖 Generated with Claude Code

Until now `talks[].slides` was always a bare PDF filename, and
Talk.astro unconditionally prepended /meetup/<region>/slides/ to
build the link. That broke the moment a speaker's slide deck only
existed as a hosted web app. The April 2026 Düsseldorf meetup hit
this: Brecht De Ruyte's "CSS State Machine" lives at
https://talks.utilitybend.com/css-state-machine/info, while Alaa
Reuschenbach & Lucas Dohmen's "Performance over Perfection" was
delivered as a PDF.

Detect URL vs filename in the renderer with a one-line ternary on
`startsWith('http://')` / `startsWith('https://')`: URLs are used
verbatim, anything else keeps today's prefix behavior. Schema stays
`z.string().optional()` — a stricter union would reject the
existing unquoted filename `2603-wolfgang_ StopCoding_….pdf` (with
a space) and any future non-PDF assets — and a comment above the
field documents the dual shape so future contributors don't have
to read the renderer to know what's accepted.

Also fills in the two missing `slides` entries on
`2604-duesseldorf.md` (one URL, one PDF) and ships the
`2604-alaa-reuschenbach-and-lucas-dohmen.pdf` asset that the second
entry references.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@netlify
Copy link
Copy Markdown

netlify Bot commented May 8, 2026

Deploy Preview for nifty-bardeen-5c7e53 ready!

Name Link
🔨 Latest commit 1abc39e
🔍 Latest deploy log https://app.netlify.com/projects/nifty-bardeen-5c7e53/deploys/69fdc43973a0400008db90bd
😎 Deploy Preview https://deploy-preview-1440--nifty-bardeen-5c7e53.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@andygrunwald andygrunwald merged commit 53dc1cc into main May 8, 2026
6 checks passed
@andygrunwald andygrunwald deleted the andygrunwald/meetup-talk-slides-allow-urls branch May 8, 2026 11:10
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