aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAlex Gleason <alex@alexgleason.me>2022-01-28 16:53:40 +0000
committerAlex Gleason <alex@alexgleason.me>2022-01-28 16:53:40 +0000
commit64944c164f8730c59c3a55e6c2e4b9e444254a9d (patch)
treef66f8c206eac34f0b5eeb79b4ca770fbce251684 /lib
parenta146f6acab5127e9dd7a70ac9dea9bf35a57721e (diff)
parent3bf257171f546ef84993b08851c01cf064309017 (diff)
downloadpleroma-64944c164f8730c59c3a55e6c2e4b9e444254a9d.tar.gz
Merge branch 'mention-mrf-md' into 'develop'
ForceMentionsInContent: improve display of Markdown posts See merge request pleroma/pleroma!3625
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/activity_pub/mrf/force_mentions_in_content.ex19
1 files changed, 16 insertions, 3 deletions
diff --git a/lib/pleroma/web/activity_pub/mrf/force_mentions_in_content.ex b/lib/pleroma/web/activity_pub/mrf/force_mentions_in_content.ex
index 715771d9d..255910b2f 100644
--- a/lib/pleroma/web/activity_pub/mrf/force_mentions_in_content.ex
+++ b/lib/pleroma/web/activity_pub/mrf/force_mentions_in_content.ex
@@ -103,10 +103,23 @@ defmodule Pleroma.Web.ActivityPub.MRF.ForceMentionsInContent do
end
end)
- content =
+ recipients_inline =
if added_mentions != "",
- do: "<span class=\"recipients-inline\">#{added_mentions}</span>" <> content,
- else: content
+ do: "<span class=\"recipients-inline\">#{added_mentions}</span>",
+ else: ""
+
+ content =
+ cond do
+ # For Markdown posts, insert the mentions inside the first <p> tag
+ recipients_inline != "" && String.starts_with?(content, "<p>") ->
+ "<p>" <> recipients_inline <> String.trim_leading(content, "<p>")
+
+ recipients_inline != "" ->
+ recipients_inline <> content
+
+ true ->
+ content
+ end
{:ok, put_in(object["object"]["content"], content)}
end