diff options
author | lain <lain@soykaf.club> | 2020-04-09 09:47:07 +0000 |
---|---|---|
committer | lain <lain@soykaf.club> | 2020-04-09 09:47:07 +0000 |
commit | 564f3f01caa66b4632ef9e30f4f896478b1ac131 (patch) | |
tree | 1272d395187e8719245f56d8ee7f9e3e4a875e1e /lib | |
parent | de592a6d33ad5c6703dc2a85fcabf6f639fdcf01 (diff) | |
parent | d067eaa7b3bb76e7fc5ae019d6e00510b657171d (diff) | |
download | pleroma-564f3f01caa66b4632ef9e30f4f896478b1ac131.tar.gz pleroma-564f3f01caa66b4632ef9e30f4f896478b1ac131.zip |
Merge branch 'formatter-html-safe' into 'develop'
formatter.ex: Use Phoenix.HTML for mention/hashtag generation
See merge request pleroma/pleroma!2357
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/formatter.ex | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/lib/pleroma/formatter.ex b/lib/pleroma/formatter.ex index e2a658cb3..c44e7fc8b 100644 --- a/lib/pleroma/formatter.ex +++ b/lib/pleroma/formatter.ex @@ -35,9 +35,19 @@ defmodule Pleroma.Formatter do nickname_text = get_nickname_text(nickname, opts) link = - ~s(<span class="h-card"><a data-user="#{id}" class="u-url mention" href="#{ap_id}" rel="ugc">@<span>#{ - nickname_text - }</span></a></span>) + Phoenix.HTML.Tag.content_tag( + :span, + Phoenix.HTML.Tag.content_tag( + :a, + ["@", Phoenix.HTML.Tag.content_tag(:span, nickname_text)], + "data-user": id, + class: "u-url mention", + href: ap_id, + rel: "ugc" + ), + class: "h-card" + ) + |> Phoenix.HTML.safe_to_string() {link, %{acc | mentions: MapSet.put(acc.mentions, {"@" <> nickname, user})}} @@ -49,7 +59,15 @@ defmodule Pleroma.Formatter do def hashtag_handler("#" <> tag = tag_text, _buffer, _opts, acc) do tag = String.downcase(tag) url = "#{Pleroma.Web.base_url()}/tag/#{tag}" - link = ~s(<a class="hashtag" data-tag="#{tag}" href="#{url}" rel="tag ugc">#{tag_text}</a>) + + link = + Phoenix.HTML.Tag.content_tag(:a, tag_text, + class: "hashtag", + "data-tag": tag, + href: url, + rel: "tag ugc" + ) + |> Phoenix.HTML.safe_to_string() {link, %{acc | tags: MapSet.put(acc.tags, {tag_text, tag})}} end |