Move emoji glob setting to config.exs
Also, a bit of formatting, and the glob includes an "/emoji/" prefix to make it more intuitive to users
This commit is contained in:
parent
0bfbf15b37
commit
c171f9790b
@ -12,6 +12,8 @@ config :pleroma, Pleroma.Repo, types: Pleroma.PostgresTypes
|
|||||||
|
|
||||||
config :pleroma, Pleroma.Upload, uploads: "uploads"
|
config :pleroma, Pleroma.Upload, uploads: "uploads"
|
||||||
|
|
||||||
|
config :pleroma, :emoji, shortcode_glob: "/emoji/by-shortcode/**/*.png"
|
||||||
|
|
||||||
# Configures the endpoint
|
# Configures the endpoint
|
||||||
config :pleroma, Pleroma.Web.Endpoint,
|
config :pleroma, Pleroma.Web.Endpoint,
|
||||||
url: [host: "localhost"],
|
url: [host: "localhost"],
|
||||||
|
@ -173,23 +173,30 @@ defmodule Pleroma.Web.TwitterAPI.UtilController do
|
|||||||
end
|
end
|
||||||
|
|
||||||
def emoji(conn, _params) do
|
def emoji(conn, _params) do
|
||||||
emoji_dir = Path.join(:code.priv_dir(:pleroma), "static/emoji")
|
static_dir = Path.join(:code.priv_dir(:pleroma), "static")
|
||||||
|
|
||||||
|
emoji_shortcode_glob =
|
||||||
|
Application.get_env(:pleroma, :emoji, [])
|
||||||
|
|> Keyword.get(:shortcode_glob)
|
||||||
|
|
||||||
shortcode_emoji_glob =
|
|
||||||
Path.join(
|
|
||||||
emoji_dir,
|
|
||||||
Application.get_env(:pleroma, :emoji, []) |>
|
|
||||||
Keyword.get(:glob, "by-shortcode/**/*.png")
|
|
||||||
)
|
|
||||||
shortcode_emoji =
|
shortcode_emoji =
|
||||||
Path.wildcard(shortcode_emoji_glob) |>
|
case emoji_shortcode_glob do
|
||||||
Enum.map(fn path ->
|
nil ->
|
||||||
|
[]
|
||||||
|
|
||||||
|
glob ->
|
||||||
|
Path.join(static_dir, glob)
|
||||||
|
|> Path.wildcard()
|
||||||
|
|> Enum.map(fn path ->
|
||||||
shortcode = Path.basename(path, ".png")
|
shortcode = Path.basename(path, ".png")
|
||||||
serve_path = Path.join("/emoji", Path.relative_to(path, emoji_dir))
|
serve_path = Path.join("/", Path.relative_to(path, static_dir))
|
||||||
{shortcode, serve_path}
|
{shortcode, serve_path}
|
||||||
end)
|
end)
|
||||||
|
end
|
||||||
|
|
||||||
emoji = Enum.into(Formatter.get_custom_emoji(), shortcode_emoji) |> Enum.into(%{})
|
emoji =
|
||||||
|
Enum.into(Formatter.get_custom_emoji(), shortcode_emoji)
|
||||||
|
|> Enum.into(%{})
|
||||||
|
|
||||||
json(conn, emoji)
|
json(conn, emoji)
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user