about summary refs log tree commit diff
path: root/app/views/stream_entries/_og_image.html.haml
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2017-09-12 05:39:38 +0200
committerGitHub <noreply@github.com>2017-09-12 05:39:38 +0200
commit8f8e6776306b07d5914ef39c895de0cab44ada7f (patch)
treed6871435a0790985bc3afd8cb00c0469d22bf229 /app/views/stream_entries/_og_image.html.haml
parent4931eac28003aed8a35ce6c7c499840c92cc3af5 (diff)
Clean up and improve generated OpenGraph tags (#4901)
- Return all images as og:image
- Return videos as og:image (preview) and og:video
- Return profile:username on profiles
Diffstat (limited to 'app/views/stream_entries/_og_image.html.haml')
-rw-r--r--app/views/stream_entries/_og_image.html.haml22
1 files changed, 18 insertions, 4 deletions
diff --git a/app/views/stream_entries/_og_image.html.haml b/app/views/stream_entries/_og_image.html.haml
index f725209d8..66d9619b2 100644
--- a/app/views/stream_entries/_og_image.html.haml
+++ b/app/views/stream_entries/_og_image.html.haml
@@ -1,6 +1,20 @@
 - if activity.is_a?(Status) && activity.non_sensitive_with_media?
-  %meta{ property: 'og:image', content: full_asset_url(activity.media_attachments.first.file.url(:small)) }/
+  - activity.media_attachments.each do |media|
+    - if media.image?
+      = opengraph 'og:image', full_asset_url(media.file.url(:original))
+      = opengraph 'og:image:type', media.file_content_type
+      = opengraph 'og:image:width', media.file.meta['original']['width']
+      = opengraph 'og:image:height', media.file.meta['original']['height']
+    - elsif media.video?
+      = opengraph 'og:image', full_asset_url(media.file.url(:small))
+      = opengraph 'og:image:type', 'image/png'
+      = opengraph 'og:image:width', media.file.meta['small']['width']
+      = opengraph 'og:image:height', media.file.meta['small']['height']
+      = opengraph 'og:video', full_asset_url(media.file.url(:original))
+      = opengraph 'og:video:type', media.file_content_type
+      = opengraph 'og:video:width', media.file.meta['small']['width']
+      = opengraph 'og:video:height', media.file.meta['small']['height']
 - else
-  %meta{ property: 'og:image', content: full_asset_url(account.avatar.url(:original)) }/
-  %meta{ property: 'og:image:width', content: '120' }/
-  %meta{ property: 'og:image:height', content: '120' }/
+  = opengraph 'og:image', full_asset_url(account.avatar.url(:original))
+  = opengraph 'og:image:width', '120'
+  = opengraph 'og:image:height','120'