"text/plain",
"text/html",
"text/markdown",
- "text/bbcode"
+ "text/bbcode",
+ "text/x.misskeymarkdown"
],
staff_transparency: [],
autofollowed_nicknames: [],
def maybe_quote(name), do: name
- def emoji_url(%{"type" => "EmojiReact", "content" => emoji, "tag" => []}), do: nil
+ def emoji_url(%{"type" => "EmojiReact", "content" => _, "tag" => []}), do: nil
def emoji_url(%{"type" => "EmojiReact", "content" => emoji, "tag" => tags}) do
tag =
end
emoji = Map.merge(emoji, summary_emoji)
-
{:ok, note_data, _meta} = Builder.note(draft)
-
object =
note_data
|> Map.put("emoji", emoji)
- |> Map.put("source", draft.status)
+ |> Map.put("source", %{
+ "content" => draft.status,
+ "mediaType" => draft.params[:content_type]
+ })
|> Map.put("generator", draft.params[:generator])
%__MODULE__{draft | object: object}
|> Formatter.html_escape("text/html")
end
+ def format_input(text, "text/x.misskeymarkdown", options) do
+ text
+ |> Formatter.html_escape("text/plain")
+ |> Formatter.linkify(options)
+ |> (fn {text, mentions, tags} ->
+ {String.replace(text, ~r/\r?\n/, "<br>"), mentions, tags}
+ end).()
+ end
+
def format_naive_asctime(date) do
date |> DateTime.from_naive!("Etc/UTC") |> format_asctime
end