From 19c45d520ca487f5ad186a00814bf5f6a708177c Mon Sep 17 00:00:00 2001 From: Riley Trautman Date: Tue, 15 May 2018 16:49:37 -0500 Subject: [PATCH] Add off-network mentions --- app/lib/formatter.rb | 66 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 65 insertions(+), 1 deletion(-) diff --git a/app/lib/formatter.rb b/app/lib/formatter.rb index e1ab05cc0..b23df1b44 100644 --- a/app/lib/formatter.rb +++ b/app/lib/formatter.rb @@ -204,13 +204,77 @@ class Formatter def link_to_mention(entity, linkable_accounts) acct = entity[:screen_name] + username, domain = acct.split('@') - return link_to_account(acct) unless linkable_accounts + case domain + when 'twitter.com' + return link_to_twitter(username) + when 'tumblr.com' + return link_to_tumblr(username) + when 'weasyl.com' + return link_to_weasyl(username) + when 'furaffinity.net' + return link_to_furaffinity(username) + when 'furrynetwork.com', 'beta.furrynetwork.com' + return link_to_furrynetwork(username) + when 'sofurry.com' + return link_to_sofurry(username) + when 'inkbunny.net' + return link_to_inkbunny(username) + when 'deviantart.com' + return link_to_deviantart(username) + when 'artstation.com' + return link_to_artstation(username) + when 'github.com' + return link_to_github(username) + else + return link_to_account(acct) unless linkable_accounts + end account = linkable_accounts.find { |item| TagManager.instance.same_acct?(item.acct, acct) } account ? mention_html(account) : "@#{acct}" end + def link_to_twitter(username) + "@#{username}@twitter.com" + end + + def link_to_tumblr(username) + "@#{username}@tumblr.com" + end + + def link_to_weasyl(username) + "@#{username}@weasyl.com" + end + + def link_to_furaffinity(username) + "@#{username}@furaffinity.net" + end + + def link_to_furrynetwork(username) + "@#{username}@furrynetwork.com" + end + + def link_to_inkbunny(username) + "@#{username}@inkbunny.net" + end + + def link_to_sofurry(username) + "@#{username}@sofurry.com" + end + + def link_to_deviantart(username) + "@#{username}@deviantart.com" + end + + def link_to_artstation(username) + "@#{username}@artstation.com" + end + + def link_to_github(username) + "@#{username}@github.com" + end + def link_to_account(acct) username, domain = acct.split('@')