Meetup: Allow URLs as slides in addition to local PDF filenames#1440
Merged
andygrunwald merged 1 commit intomainfrom May 8, 2026
Merged
Meetup: Allow URLs as slides in addition to local PDF filenames#1440andygrunwald merged 1 commit intomainfrom
slides in addition to local PDF filenames#1440andygrunwald merged 1 commit intomainfrom
Conversation
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>
✅ Deploy Preview for nifty-bardeen-5c7e53 ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
talks[].slideswas always treated as a bare PDF filename;Talk.astrounconditionally prepended/meetup/<region>/slides/. That breaks the moment a speaker's slide deck only exists as a hosted web app.https://talks.utilitybend.com/css-state-machine/info, while Alaa Reuschenbach & Lucas Dohmen's "Performance over Perfection" was a PDF.Talk.astronow branches onstartsWith('http://')/startsWith('https://'): URLs are used verbatim, anything else keeps today's prefix behavior. One-line ternary on the existinghref, no new helpers.z.string().optional()— a stricter union would reject the existing unquoted filename2603-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.slidesentries on2604-duesseldorf.md(URL on talk 1, PDF on talk 2) and shipped the2604-alaa-reuschenbach-and-lucas-dohmen.pdfasset that talk 2 references.Test plan
make build— site builds (475 pages)make test-javascript— 55/55 vitest tests passdist/meetup/rhine-ruhr/archive/index.html:https://talks.utilitybend.com/css-state-machine/info(verbatim)/meetup/rhine-ruhr/slides/2604-alaa-reuschenbach-and-lucas-dohmen.pdf(prefixed)/meetup/rhine-ruhr/slides/2602-roland-golla.pdf(non-regression)slides/https://…strings anywhere indist/2603-kaino) on/meetup/alps/archive/to confirm no behavior change🤖 Generated with Claude Code