Hotlink twitter mentions

Differentiate twitter mentions from normal mentions
This commit is contained in:
Andrew 2017-12-17 22:33:03 -08:00 committed by chr
parent 5034418e2c
commit 807ec09883
1 changed files with 10 additions and 1 deletions

View File

@ -262,8 +262,9 @@ class Formatter
def link_to_mention(entity, linkable_accounts) def link_to_mention(entity, linkable_accounts)
acct = entity[:screen_name] acct = entity[:screen_name]
username, domain = acct.split('@')
return link_to_account(acct) unless linkable_accounts return link_to_account(acct) unless linkable_accounts and domain != "twitter.com"
account = linkable_accounts.find { |item| TagManager.instance.same_acct?(item.acct, acct) } account = linkable_accounts.find { |item| TagManager.instance.same_acct?(item.acct, acct) }
account ? mention_html(account) : "@#{encode(acct)}" account ? mention_html(account) : "@#{encode(acct)}"
@ -272,6 +273,10 @@ class Formatter
def link_to_account(acct) def link_to_account(acct)
username, domain = acct.split('@') username, domain = acct.split('@')
if domain == "twitter.com"
return mention_twitter_html(username)
end
domain = nil if TagManager.instance.local_domain?(domain) domain = nil if TagManager.instance.local_domain?(domain)
account = EntityCache.instance.mention(username, domain) account = EntityCache.instance.mention(username, domain)
@ -299,4 +304,8 @@ class Formatter
def mention_html(account) def mention_html(account)
"<span class=\"h-card\"><a href=\"#{encode(ActivityPub::TagManager.instance.url_for(account))}\" class=\"u-url mention\">@<span>#{encode(account.username)}</span></a></span>" "<span class=\"h-card\"><a href=\"#{encode(ActivityPub::TagManager.instance.url_for(account))}\" class=\"u-url mention\">@<span>#{encode(account.username)}</span></a></span>"
end end
def mention_twitter_html(username)
"<span class=\"h-card\"><a href=\"https://twitter.com/#{username}\" class=\"u-url mention\">@<span>#{username}@twitter.com</span></a></span>"
end
end end