Emit og:image:alt / twitter:image:alt on bskyweb post pages
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
This commit is contained in:
@@ -33,10 +33,16 @@
|
||||
<meta property="og:description" content="{{ postText }}">
|
||||
<meta property="twitter:description" content="{{ postText }}">
|
||||
{% endif -%}
|
||||
{%- if imgThumbUrls %}
|
||||
{% for imgThumbUrl in imgThumbUrls %}
|
||||
<meta property="og:image" content="{{ imgThumbUrl }}">
|
||||
<meta property="twitter:image" content="{{ imgThumbUrl }}">
|
||||
{%- if postImages %}
|
||||
{% for img in postImages %}
|
||||
<meta property="og:image" content="{{ img.Thumb }}">
|
||||
{%- if img.Alt %}
|
||||
<meta property="og:image:alt" content="{{ img.Alt }}">
|
||||
{% endif -%}
|
||||
<meta property="twitter:image" content="{{ img.Thumb }}">
|
||||
{%- if img.Alt %}
|
||||
<meta property="twitter:image:alt" content="{{ img.Alt }}">
|
||||
{% endif -%}
|
||||
{% endfor %}
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
{% else %}
|
||||
|
||||
Reference in New Issue
Block a user