aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorlambda <pleromagit@rogerbraun.net>2018-07-12 05:56:29 +0000
committerlambda <pleromagit@rogerbraun.net>2018-07-12 05:56:29 +0000
commit14054dd582f905439bb73368335f93bbb9bc23c7 (patch)
treed5eefa933d2673cb9c0f7147c72da58a887307ec /lib
parent33b033421649f6a7354616ff3458b856ca89637c (diff)
parent748fff6544cc70476bb0892a661d4d8c7f6ee295 (diff)
downloadpleroma-14054dd582f905439bb73368335f93bbb9bc23c7.tar.gz
Merge branch 'feature/auto-shortcodes' into 'develop'
Feature: automatic shortcodes for emoji See merge request pleroma/pleroma!245
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/formatter.ex23
1 files changed, 22 insertions, 1 deletions
diff --git a/lib/pleroma/formatter.ex b/lib/pleroma/formatter.ex
index df7ffbc41..0aaf21538 100644
--- a/lib/pleroma/formatter.ex
+++ b/lib/pleroma/formatter.ex
@@ -116,7 +116,28 @@ defmodule Pleroma.Formatter do
_ -> []
end)
- @emoji @finmoji_with_filenames ++ @emoji_from_file
+ @emoji_from_globs (
+ static_path = Path.join(:code.priv_dir(:pleroma), "static")
+
+ globs =
+ Application.get_env(:pleroma, :emoji, [])
+ |> Keyword.get(:shortcode_globs, [])
+
+ paths =
+ Enum.map(globs, fn glob ->
+ Path.join(static_path, glob)
+ |> Path.wildcard()
+ end)
+ |> Enum.concat()
+
+ Enum.map(paths, fn path ->
+ shortcode = Path.basename(path, Path.extname(path))
+ external_path = Path.join("/", Path.relative_to(path, static_path))
+ {shortcode, external_path}
+ end)
+ )
+
+ @emoji @finmoji_with_filenames ++ @emoji_from_globs ++ @emoji_from_file
def emojify(text, emoji \\ @emoji)
def emojify(text, nil), do: text