about summary refs log tree commit diff
path: root/app/helpers/stream_entries_helper.rb
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2016-03-05 23:42:40 +0100
committerEugen Rochko <eugen@zeonfederated.com>2016-03-05 23:42:40 +0100
commitab80ebdeecf9410c5b43dde333b2e036e1198e24 (patch)
tree5526ec2ad37df18bb07ff830e9fc18b22457f446 /app/helpers/stream_entries_helper.rb
parent6045b6cb1880b27e8b21799b9501a794a5f5b88b (diff)
Adjusting design of profile and entry pages, linkify mentions in statuses
Diffstat (limited to 'app/helpers/stream_entries_helper.rb')
-rw-r--r--app/helpers/stream_entries_helper.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/app/helpers/stream_entries_helper.rb b/app/helpers/stream_entries_helper.rb
index c588f5ce7..529ba98da 100644
--- a/app/helpers/stream_entries_helper.rb
+++ b/app/helpers/stream_entries_helper.rb
@@ -19,4 +19,17 @@ module StreamEntriesHelper
   def relative_time(date)
     date < 5.days.ago ? date.strftime("%d.%m.%Y") : "#{time_ago_in_words(date)} ago"
   end
+
+  def linkify(status)
+    mention_hash = {}
+    status.mentions.each { |m| mention_hash[m.acct] = m }
+
+    status.text.gsub(Account::MENTION_RE) do |m|
+      full_match = Account::MENTION_RE.match(m)
+      acct       = full_match[1]
+      account    = mention_hash[acct]
+
+      "#{m.split('@').first}<a href=\"#{account.url}\" class=\"mention\">@<span>#{acct}</span></a>"
+    end.html_safe
+  end
 end