validates :name, presence: true, uniqueness: true, format: { with: /\A#{HASHTAG_NAME_RE}\z/i }
- scope :discoverable, -> { joins(:account_tag_stat).where(AccountTagStat.arel_table[:accounts_count].gt(0)).where(account_tag_stats: { hidden: false }).order(name: :asc) }
+ scope :discoverable, -> { joins(:account_tag_stat).where(AccountTagStat.arel_table[:accounts_count].gt(0)).where(account_tag_stats: { hidden: false }).order('account_tag_stats.accounts_count desc') }
scope :hidden, -> { where(account_tag_stats: { hidden: true }) }
delegate :accounts_count,
- content_for :page_title do
- = t('directories.explore_mastodon')
+ = t('directories.explore_mastodon', title: site_title)
- content_for :header_tags do
%meta{ name: 'description', content: t('directories.explanation') }
- = opengraph 'og:site_name', site_title
+ = opengraph 'og:site_name', t('about.hosted_on', domain: site_hostname)
+ = opengraph 'og:type', 'website'
= opengraph 'og:title', t('directories.explore_mastodon', title: site_title)
= opengraph 'og:description', t('directories.explanation')
+ = opengraph 'og:image', File.join(root_url, 'android-chrome-192x192.png')
.page-header
%h1= t('directories.explore_mastodon', title: site_title)
%td= account_link_to account
%td.accounts-table__count
= number_to_human account.statuses_count, strip_insignificant_zeros: true
- %small= t('accounts.posts', count: account.statuses_count)
+ %small= t('accounts.posts', count: account.statuses_count).downcase
%td.accounts-table__count
= number_to_human account.followers_count, strip_insignificant_zeros: true
- %small= t('accounts.followers', count: account.followers_count)
+ %small= t('accounts.followers', count: account.followers_count).downcase
%td.accounts-table__count
- if account.last_status_at.present?
%time.time-ago{ datetime: account.last_status_at.iso8601, title: l(account.last_status_at) }= l account.last_status_at