mastodon api: add interpreter for Article activity types
authorWilliam Pitcock <nenolod@dereferenced.org>
Sun, 24 Jun 2018 06:14:17 +0000 (06:14 +0000)
committerWilliam Pitcock <nenolod@dereferenced.org>
Wed, 27 Jun 2018 13:38:00 +0000 (13:38 +0000)
lib/pleroma/web/mastodon_api/views/status_view.ex

index 59898457b73aee226df473ccdbeb48961c7d155a..f7ad87badc70b6ed699517add2848eb8315d0df2 100644 (file)
@@ -128,7 +128,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do
       in_reply_to_id: reply_to && to_string(reply_to.id),
       in_reply_to_account_id: reply_to_user && to_string(reply_to_user.id),
       reblog: nil,
-      content: HtmlSanitizeEx.basic_html(object["content"]),
+      content: render_content(object),
       created_at: created_at,
       reblogs_count: announcement_count,
       favourites_count: like_count,
@@ -207,4 +207,20 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do
         "direct"
     end
   end
+
+  def render_content(%{"type" => "Article"} = object) do
+    summary = object["name"]
+    content =
+      if !!summary and summary != "" do
+        "<p><a href=\"#{object["url"]}\">#{summary}</a></p>#{object["content"]}"
+      else
+        object["content"]
+      end
+
+    HtmlSanitizeEx.basic_html(content)
+  end
+
+  def render_content(object) do
+    HtmlSanitizeEx.basic_html(object["content"])
+  end
 end