diff options
author | kaniini <nenolod@gmail.com> | 2018-08-21 16:55:26 +0000 |
---|---|---|
committer | kaniini <nenolod@gmail.com> | 2018-08-21 16:55:26 +0000 |
commit | 5a8bb3cb3b0cc7de82bd699d68519593349fee53 (patch) | |
tree | d5987639430bf584a8744b677f623e1efad4e36a /lib/pleroma/web/twitter_api/twitter_api_controller.ex | |
parent | c1b8a6a73bfd5f30d5a290b9700ed4d41064ce77 (diff) | |
parent | e883587cc3a0c386e3cc3f63c2d8a2d64f7c953b (diff) | |
download | pleroma-5a8bb3cb3b0cc7de82bd699d68519593349fee53.tar.gz |
Merge branch 'twitter-api-bios' into 'develop'
Twitter API: Support Mastodon-style bios
See merge request pleroma/pleroma!283
Diffstat (limited to 'lib/pleroma/web/twitter_api/twitter_api_controller.ex')
-rw-r--r-- | lib/pleroma/web/twitter_api/twitter_api_controller.ex | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/lib/pleroma/web/twitter_api/twitter_api_controller.ex b/lib/pleroma/web/twitter_api/twitter_api_controller.ex index 65e67396b..b3a56b27e 100644 --- a/lib/pleroma/web/twitter_api/twitter_api_controller.ex +++ b/lib/pleroma/web/twitter_api/twitter_api_controller.ex @@ -1,7 +1,9 @@ defmodule Pleroma.Web.TwitterAPI.Controller do use Pleroma.Web, :controller + alias Pleroma.Formatter alias Pleroma.Web.TwitterAPI.{TwitterAPI, UserView, ActivityView, NotificationView} alias Pleroma.Web.CommonAPI + alias Pleroma.Web.CommonAPI.Utils, as: CommonUtils alias Pleroma.{Repo, Activity, User, Notification} alias Pleroma.Web.ActivityPub.ActivityPub alias Pleroma.Web.ActivityPub.Utils @@ -411,8 +413,18 @@ defmodule Pleroma.Web.TwitterAPI.Controller do def update_profile(%{assigns: %{user: user}} = conn, params) do params = if bio = params["description"] do - bio_brs = Regex.replace(~r/\r?\n/, bio, "<br>") - Map.put(params, "bio", bio_brs) + mentions = Formatter.parse_mentions(bio) + tags = Formatter.parse_tags(bio) + + emoji = + (user.info["source_data"]["tag"] || []) + |> Enum.filter(fn %{"type" => t} -> t == "Emoji" end) + |> Enum.map(fn %{"icon" => %{"url" => url}, "name" => name} -> + {String.trim(name, ":"), url} + end) + + bio_html = CommonUtils.format_input(bio, mentions, tags) + Map.put(params, "bio", bio_html |> Formatter.emojify(emoji)) else params end |