From a8df7fc69041e8d7a6ed71621159d2f7487e1ce7 Mon Sep 17 00:00:00 2001 From: William Pitcock <nenolod@dereferenced.org> Date: Sun, 27 May 2018 12:53:14 +0000 Subject: [PATCH 1/3] formatter: use class='mention' on links to user profiles helps mastodon frontend and apps have better context: https://mastodon.social/users/Gargron/statuses/100101267352899379 --- lib/pleroma/formatter.ex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/pleroma/formatter.ex b/lib/pleroma/formatter.ex index 53e2c204f..d23a284ca 100644 --- a/lib/pleroma/formatter.ex +++ b/lib/pleroma/formatter.ex @@ -200,7 +200,7 @@ defmodule Pleroma.Formatter do ap_id = info["source_data"]["url"] || ap_id short_match = String.split(match, "@") |> tl() |> hd() - {uuid, "<span><a href='#{ap_id}'>@<span>#{short_match}</span></a></span>"} + {uuid, "<span><a class='mention' href='#{ap_id}'>@<span>#{short_match}</span></a></span>"} end) {subs, uuid_text} From f569b67cdad881e1e3cf185d60775860ecd87262 Mon Sep 17 00:00:00 2001 From: William Pitcock <nenolod@dereferenced.org> Date: Sun, 27 May 2018 13:03:34 +0000 Subject: [PATCH 2/3] tests: update for html changes --- test/formatter_test.exs | 4 ++-- test/web/twitter_api/twitter_api_test.exs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/test/formatter_test.exs b/test/formatter_test.exs index e89b36663..c2b3d4ac0 100644 --- a/test/formatter_test.exs +++ b/test/formatter_test.exs @@ -109,9 +109,9 @@ defmodule Pleroma.FormatterTest do Enum.each(subs, fn {uuid, _} -> assert String.contains?(text, uuid) end) expected_text = - "<span><a href='#{gsimg.ap_id}'>@<span>gsimg</span></a></span> According to <span><a href='#{ + "<span><a class='mention' href='#{gsimg.ap_id}'>@<span>gsimg</span></a></span> According to <span><a class='mention' href='#{ "https://archeme/@archaeme" - }'>@<span>archaeme</span></a></span>, that is @daggsy. Also hello <span><a href='#{ + }'>@<span>archaeme</span></a></span>, that is @daggsy. Also hello <span><a class='mention' href='#{ archaeme_remote.ap_id }'>@<span>archaeme</span></a></span>" diff --git a/test/web/twitter_api/twitter_api_test.exs b/test/web/twitter_api/twitter_api_test.exs index 4716abb84..edacb312d 100644 --- a/test/web/twitter_api/twitter_api_test.exs +++ b/test/web/twitter_api/twitter_api_test.exs @@ -35,7 +35,7 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPITest do {:ok, activity = %Activity{}} = TwitterAPI.create_status(user, input) expected_text = - "Hello again, <span><a href='shp'>@<span>shp</span></a></span>.<script></script><br>This is on another :moominmamma: line. <a href='http://localhost:4001/tag/2hu' rel='tag'>#2hu</a> <a href='http://localhost:4001/tag/epic' rel='tag'>#epic</a> <a href='http://localhost:4001/tag/phantasmagoric' rel='tag'>#phantasmagoric</a><br><a href=\"http://example.org/image.jpg\" class='attachment'>image.jpg</a>" + "Hello again, <span><a class='mention' href='shp'>@<span>shp</span></a></span>.<script></script><br>This is on another :moominmamma: line. <a href='http://localhost:4001/tag/2hu' rel='tag'>#2hu</a> <a href='http://localhost:4001/tag/epic' rel='tag'>#epic</a> <a href='http://localhost:4001/tag/phantasmagoric' rel='tag'>#phantasmagoric</a><br><a href=\"http://example.org/image.jpg\" class='attachment'>image.jpg</a>" assert get_in(activity.data, ["object", "content"]) == expected_text assert get_in(activity.data, ["object", "type"]) == "Note" From d7eb2e1b6563bd298824f1e3fd691bc68764b3fa Mon Sep 17 00:00:00 2001 From: William Pitcock <nenolod@dereferenced.org> Date: Sun, 27 May 2018 13:06:38 +0000 Subject: [PATCH 3/3] run mix format --- lib/pleroma/formatter.ex | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/pleroma/formatter.ex b/lib/pleroma/formatter.ex index d23a284ca..df7ffbc41 100644 --- a/lib/pleroma/formatter.ex +++ b/lib/pleroma/formatter.ex @@ -200,7 +200,9 @@ defmodule Pleroma.Formatter do ap_id = info["source_data"]["url"] || ap_id short_match = String.split(match, "@") |> tl() |> hd() - {uuid, "<span><a class='mention' href='#{ap_id}'>@<span>#{short_match}</span></a></span>"} + + {uuid, + "<span><a class='mention' href='#{ap_id}'>@<span>#{short_match}</span></a></span>"} end) {subs, uuid_text}