forked from asonix/mastodon
* Save metadata from video attachments, put correct dimensions into OG tags * Add twitter:player for videos * Fix code style and test
36 lines
1.9 KiB
Text
36 lines
1.9 KiB
Text
- if activity.is_a?(Status) && activity.media_attachments.any?
|
|
- player_card = false
|
|
- 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
|
|
- unless media.file.meta.nil?
|
|
= opengraph 'og:image:width', media.file.meta.dig('original', 'width')
|
|
= opengraph 'og:image:height', media.file.meta.dig('original', 'height')
|
|
- elsif media.video? || media.gifv?
|
|
- player_card = true
|
|
= opengraph 'og:image', full_asset_url(media.file.url(:small))
|
|
= opengraph 'og:image:type', 'image/png'
|
|
- unless media.file.meta.nil?
|
|
= opengraph 'og:image:width', media.file.meta.dig('small', 'width')
|
|
= opengraph 'og:image:height', media.file.meta.dig('small', 'height')
|
|
= opengraph 'og:video', full_asset_url(media.file.url(:original))
|
|
= opengraph 'og:video:secure_url', full_asset_url(media.file.url(:original))
|
|
= opengraph 'og:video:type', media.file_content_type
|
|
= opengraph 'twitter:player', medium_player_url(media)
|
|
= opengraph 'twitter:player:stream', full_asset_url(media.file.url(:original))
|
|
= opengraph 'twitter:player:stream:content_type', media.file_content_type
|
|
- unless media.file.meta.nil?
|
|
= opengraph 'og:video:width', media.file.meta.dig('original', 'width')
|
|
= opengraph 'og:video:height', media.file.meta.dig('original', 'height')
|
|
= opengraph 'twitter:player:width', media.file.meta.dig('original', 'width')
|
|
= opengraph 'twitter:player:height', media.file.meta.dig('original', 'height')
|
|
- if player_card
|
|
= opengraph 'twitter:card', 'player'
|
|
- else
|
|
= opengraph 'twitter:card', 'summary_large_image'
|
|
- else
|
|
= opengraph 'og:image', full_asset_url(account.avatar.url(:original))
|
|
= opengraph 'og:image:width', '120'
|
|
= opengraph 'og:image:height','120'
|
|
= opengraph 'twitter:card', 'summary'
|