Mark 2026 event as concluded and point visitors to 2027#27
Merged
Conversation
The 2026 conference is over, so the site needs to stop reading as if the event is still upcoming and start steering visitors to the next year. Following the pattern used by the 2025 archive site, this: - Replaces the "PyTexas is this weekend!" banner with a post-event message and link to https://www.pytexas.org/2027/. - Rewrites the homepage hero, CTA, and card grid in past tense ("That's a Wrap!"), with the primary button now pointing to the 2027 site. - Updates descriptions and copy across about, attend (in-person and virtual), sponsors (index, sponsor-us, asking-for-sponsorship), and schedule/tutorials so dates and CTAs match a concluded event. - Adds "concluded" / "applications closed" callouts on the virtual and grants pages, which remain linked from the FAQ. Also resolves the remaining concrete items from #3: - Removes docs/reg.md, an orphan stub that was never wired into mkdocs-redirects and is unreferenced. - The previously-flagged broken anchor (faq.md -> in-person.md#grants) and the missing-nav entries for sponsors/index.md and attend/virtual.md were already fixed in earlier commits; verified here. Fixes #26 Refs #3
The default `just serve` binds to 127.0.0.1, which is fine on the local machine but unreachable from other devices on the tailnet (e.g. testing the site from a phone or another laptop). `serve-ts [PORT]` resolves the host's Tailscale IPv4 via `tailscale ip -4`, fails fast with a clear message if Tailscale isn't running, prints the URL it's about to bind, and starts `mkdocs serve` on that address. Defaults to port 8000.
Dependency Review✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.Scanned FilesNone |
The link checker is currently failing on `https://abmparking.com/facilities/austin-city-hall-garage/` (the "Other Parking Options" link in `attend/in-person.md`). The URL is fine for real users — a browser request returns 200 — but the server returns 403 to requests without a browser User-Agent, which is a common Cloudflare/anti-bot pattern. 403 means "Forbidden", not "Not Found". The resource exists; the bot just isn't allowed to fetch it. For a link checker on a marketing site, treating 403 the same as 200 is the standard workaround. Adds 403 to the existing `--accept` list alongside the redirects and 429 we already pass through.
ProsperousHeart
requested changes
May 11, 2026
ProsperousHeart
left a comment
Member
There was a problem hiding this comment.
Minor updates requested. Approved to merge even without them.
Thanks for taking this on and getting it done so fast!
| [Purchase Tickets](https://pretix.eu/pytexas/2026/){ .md-button .md-button--primary } | ||
| The 2026 event has ended. Thanks to everyone who joined us in celebrating **20 years of PyTexas**! We hope to see y'all next year. | ||
|
|
||
| Join us for the **20th year** of the largest gathering of Python developers within the great state of Texas. We'll discuss software development, data science, community, and of course: Python. |
Member
There was a problem hiding this comment.
It might be good to keep this line for google search purposes. But fine if not.
Member
Author
There was a problem hiding this comment.
Updated to include the 20th stuff.
Co-authored-by: Kassandra Keeton <ProsperousHeart@users.noreply.github.com>
Co-authored-by: Kassandra Keeton <ProsperousHeart@users.noreply.github.com>
The post-event rewrite stripped the keyword-rich paragraph that fed
Google search ("largest gathering of Python developers... software
development, data science, community, and of course: Python"). Without
it, the homepage is a wrap-up message plus a CTA, which gives crawlers
very little to index. ProsperousHeart flagged this in review on PR #27.
Restores a past-tense version of that paragraph between the wrap-up
message and the 2027 CTA. Keeps the original SEO keywords and the
**20th year** anniversary callout, and matches what the 2025 archive
site does (which kept its equivalent line for the same reason).
Also drops three em-dashes from the same file while in there: the H2
wrap-up header becomes a colon, the Sponsor card uses a period, and
the new SEO line is written without one.
graffhyrum
pushed a commit
to graffhyrum/2026
that referenced
this pull request
May 14, 2026
* Mark 2026 event as concluded and point visitors to 2027 The 2026 conference is over, so the site needs to stop reading as if the event is still upcoming and start steering visitors to the next year. Following the pattern used by the 2025 archive site, this: - Replaces the "PyTexas is this weekend!" banner with a post-event message and link to https://www.pytexas.org/2027/. - Rewrites the homepage hero, CTA, and card grid in past tense ("That's a Wrap!"), with the primary button now pointing to the 2027 site. - Updates descriptions and copy across about, attend (in-person and virtual), sponsors (index, sponsor-us, asking-for-sponsorship), and schedule/tutorials so dates and CTAs match a concluded event. - Adds "concluded" / "applications closed" callouts on the virtual and grants pages, which remain linked from the FAQ. Also resolves the remaining concrete items from pytexas#3: - Removes docs/reg.md, an orphan stub that was never wired into mkdocs-redirects and is unreferenced. - The previously-flagged broken anchor (faq.md -> in-person.md#grants) and the missing-nav entries for sponsors/index.md and attend/virtual.md were already fixed in earlier commits; verified here. Fixes pytexas#26 Refs pytexas#3 * Add `just serve-ts` for testing over Tailscale The default `just serve` binds to 127.0.0.1, which is fine on the local machine but unreachable from other devices on the tailnet (e.g. testing the site from a phone or another laptop). `serve-ts [PORT]` resolves the host's Tailscale IPv4 via `tailscale ip -4`, fails fast with a clear message if Tailscale isn't running, prints the URL it's about to bind, and starts `mkdocs serve` on that address. Defaults to port 8000. * Accept 403 in lychee link check The link checker is currently failing on `https://abmparking.com/facilities/austin-city-hall-garage/` (the "Other Parking Options" link in `attend/in-person.md`). The URL is fine for real users — a browser request returns 200 — but the server returns 403 to requests without a browser User-Agent, which is a common Cloudflare/anti-bot pattern. 403 means "Forbidden", not "Not Found". The resource exists; the bot just isn't allowed to fetch it. For a link checker on a marketing site, treating 403 the same as 200 is the standard workaround. Adds 403 to the existing `--accept` list alongside the redirects and 429 we already pass through. * Update docs/sponsors/sponsor-us.md Co-authored-by: Kassandra Keeton <ProsperousHeart@users.noreply.github.com> * Update docs/sponsors/sponsor-us.md Co-authored-by: Kassandra Keeton <ProsperousHeart@users.noreply.github.com> * Keep homepage SEO copy and drop em-dashes The post-event rewrite stripped the keyword-rich paragraph that fed Google search ("largest gathering of Python developers... software development, data science, community, and of course: Python"). Without it, the homepage is a wrap-up message plus a CTA, which gives crawlers very little to index. ProsperousHeart flagged this in review on PR pytexas#27. Restores a past-tense version of that paragraph between the wrap-up message and the 2027 CTA. Keeps the original SEO keywords and the **20th year** anniversary callout, and matches what the 2025 archive site does (which kept its equivalent line for the same reason). Also drops three em-dashes from the same file while in there: the H2 wrap-up header becomes a colon, the Sponsor card uses a period, and the new SEO line is written without one. --------- Co-authored-by: Kassandra Keeton <ProsperousHeart@users.noreply.github.com>
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
The 2026 conference is over, so the site needs to read as a post-event archive and steer visitors to PyTexas 2027. Following the pattern used by the 2025 archive site:
overrides/main.html) — replaces "PyTexas is this weekend!" with a post-event message linking to https://www.pytexas.org/2027/.docs/index.md) — hero, primary CTA, and card grid rewritten in past tense ("That's a Wrap!"); button now points to the 2027 site.Also clears the remaining concrete items from #3:
docs/reg.md, an orphan stub that was never wired intomkdocs-redirectsand is unreferenced.faq.md->in-person.md#grants) and missing-nav entries forsponsors/index.mdandattend/virtual.mdwere already fixed in earlier commits; verified here.Includes a separate small commit adding
just serve-ts [PORT], which bindsmkdocs serveto the host's Tailscale IPv4 so the site can be previewed from other tailnet devices.Fixes #26
Refs #3
Test plan
just validate(strict mkdocs build) passesjust serve— confirm banner reads as post-event and homepage CTA points to 2027just serve-tsbinds to the Tailscale IP and is reachable from another tailnet device