Add Microformats2 markup
h-feed, h-card and h-entry
This commit is contained in:
@ -1,30 +1,31 @@
|
||||
.detailed-status.light
|
||||
= link_to TagManager.instance.url_for(status.account), class: 'detailed-status__display-name', target: @external_links ? '_blank' : nil, rel: 'noopener' do
|
||||
= link_to TagManager.instance.url_for(status.account), class: 'detailed-status__display-name p-author h-card', target: @external_links ? '_blank' : nil, rel: 'noopener' do
|
||||
%div
|
||||
%div.avatar
|
||||
= image_tag status.account.avatar.url(:original), width: 48, height: 48, alt: ''
|
||||
= image_tag status.account.avatar.url(:original), width: 48, height: 48, alt: '', class: 'u-photo'
|
||||
%span.display-name
|
||||
%strong= display_name(status.account)
|
||||
%span= acct(status.account)
|
||||
%strong.p-name= display_name(status.account)
|
||||
%span.p-nickname= acct(status.account)
|
||||
|
||||
.status__content= Formatter.instance.format(status)
|
||||
.status__content.e-content.p-name= Formatter.instance.format(status)
|
||||
|
||||
- unless status.media_attachments.empty?
|
||||
- if status.media_attachments.first.video?
|
||||
.video-player
|
||||
- if status.sensitive?
|
||||
= render partial: 'stream_entries/content_spoiler'
|
||||
%video{ src: status.media_attachments.first.file.url(:original), loop: true }
|
||||
%video{ src: status.media_attachments.first.file.url(:original), loop: true, class: 'u-video' }
|
||||
- else
|
||||
.detailed-status__attachments
|
||||
- if status.sensitive?
|
||||
= render partial: 'stream_entries/content_spoiler'
|
||||
- status.media_attachments.each do |media|
|
||||
.media-item
|
||||
= link_to '', (media.remote_url.blank? ? media.file.url(:original) : media.remote_url), style: "background-image: url(#{media.file.url(:original)})", target: '_blank', rel: 'noopener'
|
||||
= link_to '', (media.remote_url.blank? ? media.file.url(:original) : media.remote_url), style: "background-image: url(#{media.file.url(:original)})", target: '_blank', rel: 'noopener', class: "u-#{media.video? ? 'video' : 'photo'}"
|
||||
|
||||
%div.detailed-status__meta
|
||||
= link_to TagManager.instance.url_for(status), class: 'detailed-status__datetime', target: @external_links ? '_blank' : nil, rel: 'noopener' do
|
||||
%data.dt-published{ value: status.created_at.to_time.iso8601 }
|
||||
= link_to TagManager.instance.url_for(status), class: 'detailed-status__datetime u-url u-uid', target: @external_links ? '_blank' : nil, rel: 'noopener' do
|
||||
%span= l(status.created_at)
|
||||
·
|
||||
%span
|
||||
|
@ -1,17 +1,18 @@
|
||||
.status.light
|
||||
.status__header
|
||||
.status__meta
|
||||
= link_to time_ago_in_words(status.created_at), TagManager.instance.url_for(status), class: 'status__relative-time', title: l(status.created_at), target: @external_links ? '_blank' : nil, rel: 'noopener'
|
||||
= link_to time_ago_in_words(status.created_at), TagManager.instance.url_for(status), class: 'status__relative-time u-url u-uid', title: l(status.created_at), target: @external_links ? '_blank' : nil, rel: 'noopener'
|
||||
%data.dt-published{ value: status.created_at.to_time.iso8601 }
|
||||
|
||||
= link_to TagManager.instance.url_for(status.account), class: 'status__display-name', target: @external_links ? '_blank' : nil, rel: 'noopener' do
|
||||
= link_to TagManager.instance.url_for(status.account), class: 'status__display-name p-author h-card', target: @external_links ? '_blank' : nil, rel: 'noopener' do
|
||||
.status__avatar
|
||||
%div
|
||||
= image_tag status.account.avatar(:original), width: 48, height: 48, alt: ''
|
||||
= image_tag status.account.avatar(:original), width: 48, height: 48, alt: '', class: 'u-photo'
|
||||
%span.display-name
|
||||
%strong= display_name(status.account)
|
||||
%span= acct(status.account)
|
||||
%strong.p-name= display_name(status.account)
|
||||
%span.p-nickname= acct(status.account)
|
||||
|
||||
.status__content= Formatter.instance.format(status)
|
||||
.status__content.e-content.p-name= Formatter.instance.format(status)
|
||||
|
||||
- unless status.media_attachments.empty?
|
||||
.status__attachments
|
||||
@ -19,10 +20,10 @@
|
||||
= render partial: 'stream_entries/content_spoiler'
|
||||
- if status.media_attachments.first.video?
|
||||
.video-item
|
||||
= link_to (status.media_attachments.first.remote_url.blank? ? status.media_attachments.first.file.url(:original) : status.media_attachments.first.remote_url), style: "background-image: url(#{status.media_attachments.first.file.url(:small)})", target: '_blank', rel: 'noopener' do
|
||||
= link_to (status.media_attachments.first.remote_url.blank? ? status.media_attachments.first.file.url(:original) : status.media_attachments.first.remote_url), style: "background-image: url(#{status.media_attachments.first.file.url(:small)})", target: '_blank', rel: 'noopener', class: 'u-video' do
|
||||
.video-item__play
|
||||
= fa_icon('play')
|
||||
- else
|
||||
- status.media_attachments.each do |media|
|
||||
.media-item
|
||||
= link_to '', (media.remote_url.blank? ? media.file.url(:original) : media.remote_url), style: "background-image: url(#{media.file.url(:original)})", target: '_blank', rel: 'noopener'
|
||||
= link_to '', (media.remote_url.blank? ? media.file.url(:original) : media.remote_url), style: "background-image: url(#{media.file.url(:original)})", target: '_blank', rel: 'noopener', class: "u-#{media.video? ? 'video' : 'photo'}"
|
||||
|
@ -3,20 +3,22 @@
|
||||
- is_successor ||= false
|
||||
- centered ||= include_threads && !is_predecessor && !is_successor
|
||||
|
||||
- if status.reply? && include_threads
|
||||
= render partial: 'status', collection: @ancestors, as: :status, locals: { is_predecessor: true }
|
||||
%div{ class: [is_predecessor && 'u-in-reply-to h-cite', is_successor && 'u-comment h-cite', !is_predecessor && !is_successor && 'h-entry'] }
|
||||
- if status.reply? && include_threads
|
||||
= render partial: 'status', collection: @ancestors, as: :status, locals: { is_predecessor: true }
|
||||
|
||||
.entry{ class: entry_classes(status, is_predecessor, is_successor, include_threads) }
|
||||
- if status.reblog?
|
||||
.pre-header
|
||||
%div.pre-header__icon
|
||||
= fa_icon('retweet fw')
|
||||
%span
|
||||
= link_to TagManager.instance.url_for(status.account), class: 'status__display-name muted' do
|
||||
%strong= display_name(status.account)
|
||||
= t('stream_entries.reblogged')
|
||||
.entry{ class: entry_classes(status, is_predecessor, is_successor, include_threads) }
|
||||
- if status.reblog?
|
||||
.pre-header
|
||||
%div.pre-header__icon
|
||||
= fa_icon('retweet fw')
|
||||
%span
|
||||
= link_to TagManager.instance.url_for(status.account), class: 'status__display-name muted' do
|
||||
%strong= display_name(status.account)
|
||||
= t('stream_entries.reblogged')
|
||||
|
||||
= render partial: centered ? 'stream_entries/detailed_status' : 'stream_entries/simple_status', locals: { status: proper_status(status) }
|
||||
%div{ class: [status.reblog? && 'u-repost-of h-cite'] }
|
||||
= render partial: centered ? 'stream_entries/detailed_status' : 'stream_entries/simple_status', locals: { status: proper_status(status) }
|
||||
|
||||
- if include_threads
|
||||
= render partial: 'status', collection: @descendants, as: :status, locals: { is_successor: true }
|
||||
- if include_threads
|
||||
= render partial: 'status', collection: @descendants, as: :status, locals: { is_successor: true }
|
||||
|
Reference in New Issue
Block a user