Local mode, Makefile, image fixes, Pete avatar

- Add -local flag: web/RSS-only mode that skips Matrix login and posting,
  so the web UI can be exercised against live feeds without credentials
- Add Makefile (build/local/seed/test/clean) that handles Tailwind +
  go build in one shot
- Fix Guardian thumbnails: NormalizeImageURL was rewriting width=1200
  onto signed i.guim.co.uk URLs, invalidating the s= signature and
  returning 401. Leave signed URLs alone and pick the widest
  media:content variant up front instead
- Use pete.avif as the header logo, favicon, and footer mark; drop the
  unused leaf.svg
This commit is contained in:
prosolis
2026-05-24 22:43:03 -07:00
parent 9d5db63c56
commit 0111a1b06d
10 changed files with 115 additions and 16 deletions

View File

@@ -24,6 +24,13 @@ func NormalizeImageURL(raw string) string {
if q.Get("width") == "" {
return raw
}
// The Guardian signs each (width, quality, fit, …) combination with `s=`.
// Changing width without re-signing yields a 401 "invalid signature",
// so leave signed URLs alone — the parser is now responsible for picking
// the widest media:content variant up front.
if q.Get("s") != "" {
return raw
}
q.Set("width", "1200")
u.RawQuery = q.Encode()
return u.String()