diff options
| author | lambda <pleromagit@rogerbraun.net> | 2018-07-12 05:56:29 +0000 | 
|---|---|---|
| committer | lambda <pleromagit@rogerbraun.net> | 2018-07-12 05:56:29 +0000 | 
| commit | 14054dd582f905439bb73368335f93bbb9bc23c7 (patch) | |
| tree | d5eefa933d2673cb9c0f7147c72da58a887307ec | |
| parent | 33b033421649f6a7354616ff3458b856ca89637c (diff) | |
| parent | 748fff6544cc70476bb0892a661d4d8c7f6ee295 (diff) | |
| download | pleroma-14054dd582f905439bb73368335f93bbb9bc23c7.tar.gz pleroma-14054dd582f905439bb73368335f93bbb9bc23c7.zip  | |
Merge branch 'feature/auto-shortcodes' into 'develop'
Feature: automatic shortcodes for emoji
See merge request pleroma/pleroma!245
| -rw-r--r-- | config/config.exs | 2 | ||||
| -rw-r--r-- | lib/pleroma/formatter.ex | 23 | 
2 files changed, 24 insertions, 1 deletions
diff --git a/config/config.exs b/config/config.exs index cf6cbaa9d..0616fe4fb 100644 --- a/config/config.exs +++ b/config/config.exs @@ -12,6 +12,8 @@ config :pleroma, Pleroma.Repo, types: Pleroma.PostgresTypes  config :pleroma, Pleroma.Upload, uploads: "uploads" +config :pleroma, :emoji, shortcode_globs: ["/emoji/custom/**/*.png"] +  # Configures the endpoint  config :pleroma, Pleroma.Web.Endpoint,    url: [host: "localhost"], 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  | 
