Post embeds already carry author-provided alt text in the appview
response (images, gallery items, and video), but bskyweb dropped it when
extracting og:image thumbnails, so link previews and crawlers never saw
an image description.
Extend extractPostMedia to return thumb+alt pairs and emit
og:image:alt / twitter:image:alt after each og:image / twitter:image
when the alt text is non-empty. Video posts use the video's alt text for
the poster thumbnail. JSON-LD callers flatten via a new imageURLs helper
so image[] strings stay byte-identical to og:image.
Related to the spirit of #8033 (alt text on link card images), but on
the bskyweb OpenGraph output side.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ki4kET2FKHBfNWR6jx6ooW
- Rename filter from 'canonical' to 'canonicalize_url' to follow Pongo2
naming conventions
- Update function name from filterCanonical to filterCanonicalizeURL
- Update template usage in post.html and profile.html
- Update test function name and all references
Uses canonical filter for canonical link tags while preserving original URLs with parameters for og:url metadata, improving SEO through proper URL canonicalization
- handle missing content (PWI opt-out) better
- use opengraph "article" and "profile" types, not just website for everything
- fix timestamps, and used indexed at not created at
Probably still not perfect, but better.
- don't user avatar image. use banner for profile and post img, or
nothing
- most twitter metadata fields were redundant; twitter will parse out
opengraph ("og:"), so don't duplicate those
- add regular HTML description (for google, etc)
- include URI
- actually include text