From 05a7e3165edd0a11b645b338f10d3e0354f927f3 Mon Sep 17 00:00:00 2001 From: Emi Griffith Date: Wed, 15 Jul 2026 18:23:45 -0700 Subject: [PATCH] SEO: hand-curated notable weather event per city (falls back to blurb) (#100) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Auto-sourcing a notable weather event from Wikipedia search proved unreliable (wrong matches, low coverage), so city_events.py is a small, fact-checked list of one iconic event per city (Katrina/New Orleans, Harvey/Houston, the 1952 Great Smog/London, the 2021 heat dome/Seattle, ...) — 31 cities, each with a Wikipedia link. The city page shows a 'Notable weather in {city}' callout when one exists and otherwise just the flavor blurb. Tests check the curated slugs are all valid and the callout renders (and is absent for uncurated cities). --- static/style.css | 3 +++ 1 file changed, 3 insertions(+) diff --git a/static/style.css b/static/style.css index c763a77..f3befdc 100644 --- a/static/style.css +++ b/static/style.css @@ -1480,6 +1480,9 @@ table.normals-table tbody tr:hover { background: var(--surface-2); } .city-blurb { font-size: 15px; margin: 4px 0 14px; } .blurb-src { color: var(--muted); text-decoration: none; font-size: 13px; white-space: nowrap; } .blurb-src:hover { color: var(--accent); } +.city-event { border-left: 4px solid var(--accent); background: var(--surface); border-radius: 0 10px 10px 0; padding: 12px 18px; margin: 22px 0; } +.city-event h2 { margin: 2px 0 6px; font-size: 18px; } +.city-event p { margin: 0; } .city-travel { background: var(--surface); border: 1px solid var(--border); border-radius: 12px; padding: 14px 18px; margin: 28px 0; } .city-travel h2 { margin-top: 4px; } .travel-note { font-size: 15px; }