X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Fformatter.ex;h=f062d9a5896b6e928e8f253c86c1978d0e2c0c57;hb=6dfa62800ad6cdcef9e73ecdabe45363c574a528;hp=c3b7bdaee9271f413841380e6e529d658a0e4126;hpb=79aeb219d8a1d50f076e0e8cc55da83d9ba8b502;p=akkoma diff --git a/lib/pleroma/formatter.ex b/lib/pleroma/formatter.ex index c3b7bdaee..f062d9a58 100644 --- a/lib/pleroma/formatter.ex +++ b/lib/pleroma/formatter.ex @@ -93,11 +93,38 @@ defmodule Pleroma.Formatter do {finmoji, "/finmoji/128px/#{finmoji}-128.png"} end) - @emoji @finmoji_with_filenames + @emoji_from_file (with {:ok, file} <- File.read("config/emoji.txt") do + file + |> String.trim + |> String.split("\n") + |> Enum.map(fn(line) -> + [name, file] = String.split(line, ", ") + {name, file} + end) + else + _ -> [] + end) - def finmojifiy(text) do - Enum.reduce(@emoji, text, fn ({emoji, file}, text) -> + @emoji @finmoji_with_filenames ++ @emoji_from_file + + def emojify(text, additional \\ nil) do + all_emoji = if additional do + Map.to_list(additional) ++ @emoji + else + @emoji + end + + Enum.reduce(all_emoji, text, fn ({emoji, file}, text) -> String.replace(text, ":#{emoji}:", "#{emoji}") end) end + + def get_emoji(text) do + Enum.filter(@emoji, fn ({emoji, _}) -> String.contains?(text, ":#{emoji}:") end) + end + + def get_custom_emoji() do + @emoji + |> Enum.into %{} + end end