Merge branch 'feature/auto-shortcodes' into 'develop'

Feature: automatic shortcodes for emoji

See merge request pleroma/pleroma!245
This commit is contained in:
lambda 2018-07-12 05:56:29 +00:00
commit 14054dd582
2 changed files with 24 additions and 1 deletions

View file

@ -12,6 +12,8 @@
config :pleroma, Pleroma.Upload, uploads: "uploads" config :pleroma, Pleroma.Upload, uploads: "uploads"
config :pleroma, :emoji, shortcode_globs: ["/emoji/custom/**/*.png"]
# Configures the endpoint # Configures the endpoint
config :pleroma, Pleroma.Web.Endpoint, config :pleroma, Pleroma.Web.Endpoint,
url: [host: "localhost"], url: [host: "localhost"],

View file

@ -116,7 +116,28 @@ def parse_mentions(text) do
_ -> [] _ -> []
end) 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, emoji \\ @emoji)
def emojify(text, nil), do: text def emojify(text, nil), do: text