Make default pack extensions configurable and default to png and gif
authorrinpatch <rinpatch@sdf.org>
Wed, 26 Jun 2019 03:48:59 +0000 (06:48 +0300)
committerrinpatch <rinpatch@sdf.org>
Wed, 26 Jun 2019 03:48:59 +0000 (06:48 +0300)
CHANGELOG.md
config/config.exs
docs/config.md
lib/pleroma/emoji.ex

index d3c5542451da609ee1ffd487a7c83303d18991ca..439ad45d165b035fb0b6662262c4123b177e9b32 100644 (file)
@@ -26,6 +26,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
 - Federation: Support for `Question` and `Answer` objects
 - Federation: Support for reports
 - Configuration: `poll_limits` option
+- Configuration: `pack_extensions` option
 - Configuration: `safe_dm_mentions` option
 - Configuration: `link_name` option
 - Configuration: `fetch_initial_posts` option
index 0d07fc692233e17e29ce2756a31fad5fd68734b0..f7019b3824ac2a427aef6dad9933e13b80c86fc0 100644 (file)
@@ -99,6 +99,7 @@ config :pleroma, Pleroma.Uploaders.MDII,
 
 config :pleroma, :emoji,
   shortcode_globs: ["/emoji/custom/**/*.png"],
+  pack_extensions: [".png", ".gif"],
   groups: [
     # Put groups that have higher priority than defaults here. Example in `docs/config/custom_emoji.md`
     Custom: ["/emoji/*.png", "/emoji/**/*.png"]
index b08c37e8439d7d7aa707ab18b5749f9e15b13da4..836c9f934739826fd906d81b92b8a29493554e45 100644 (file)
@@ -604,6 +604,7 @@ Configure OAuth 2 provider capabilities:
 
 ## :emoji
 * `shortcode_globs`: Location of custom emoji files. `*` can be used as a wildcard. Example `["/emoji/custom/**/*.png"]`
+* `pack_extensions`: A list of file extensions for emojis, when no emoji.txt for a pack is present. Example `[".png", ".gif"]`
 * `groups`: Emojis are ordered in groups (tags). This is an array of key-value pairs where the key is the groupname and the value the location or array of locations. `*` can be used as a wildcard. Example `[Custom: ["/emoji/*.png", "/emoji/custom/*.png"]]`
 * `default_manifest`: Location of the JSON-manifest. This manifest contains information about the emoji-packs you can download. Currently only one manifest can be added (no arrays).
 
index 854d46b1ad239fcd701d33913c537542d8052bce..05250164227e0d9e589d15f49527f19eff82d3ae 100644 (file)
@@ -148,11 +148,13 @@ defmodule Pleroma.Emoji do
     if File.exists?(emoji_txt) do
       load_from_file(emoji_txt, emoji_groups)
     else
+      extensions = Pleroma.Config.get([:emoji, :pack_extensions])
+
       Logger.info(
-        "No emoji.txt found for pack \"#{pack_name}\", assuming all .png files are emoji"
+        "No emoji.txt found for pack \"#{pack_name}\", assuming all #{Enum.join(extensions, ", ")} files are emoji"
       )
 
-      make_shortcode_to_file_map(pack_dir, [".png"])
+      make_shortcode_to_file_map(pack_dir, extensions)
       |> Enum.map(fn {shortcode, rel_file} ->
         filename = Path.join("/emoji/#{pack_name}", rel_file)