Page MenuHomePhorge

No OneTemporary

Size
52 KB
Referenced Files
None
Subscribers
None
diff --git a/config/config.exs b/config/config.exs
index 1114dc84d..c0c06b189 100644
--- a/config/config.exs
+++ b/config/config.exs
@@ -1,471 +1,471 @@
# .i;;;;i.
# iYcviii;vXY:
# .YXi .i1c.
# .YC. . in7.
# .vc. ...... ;1c.
# i7, .. .;1;
# i7, .. ... .Y1i
# ,7v .6MMM@; .YX,
# .7;. ..IMMMMMM1 :t7.
# .;Y. ;$MMMMMM9. :tc.
# vY. .. .nMMM@MMU. ;1v.
# i7i ... .#MM@M@C. .....:71i
# it: .... $MMM@9;.,i;;;i,;tti
# :t7. ..... 0MMMWv.,iii:::,,;St.
# .nC. ..... IMMMQ..,::::::,.,czX.
# .ct: ....... .ZMMMI..,:::::::,,:76Y.
# c2: ......,i..Y$M@t..:::::::,,..inZY
# vov ......:ii..c$MBc..,,,,,,,,,,..iI9i
# i9Y ......iii:..7@MA,..,,,,,,,,,....;AA:
# iIS. ......:ii::..;@MI....,............;Ez.
# .I9. ......:i::::...8M1..................C0z.
# .z9; ......:i::::,.. .i:...................zWX.
# vbv ......,i::::,,. ................. :AQY
# c6Y. .,...,::::,,..:t0@@QY. ................ :8bi
# :6S. ..,,...,:::,,,..EMMMMMMI. ............... .;bZ,
# :6o, .,,,,..:::,,,..i#MMMMMM#v................. YW2.
# .n8i ..,,,,,,,::,,,,.. tMMMMM@C:.................. .1Wn
# 7Uc. .:::,,,,,::,,,,.. i1t;,..................... .UEi
# 7C...::::::::::::,,,,.. .................... vSi.
# ;1;...,,::::::,......... .................. Yz:
# v97,......... .voC.
# izAotX7777777777777777777777777777777777777777Y7n92:
# .;CoIIIIIUAA666666699999ZZZZZZZZZZZZZZZZZZZZ6ov.
#
# !!! ATTENTION !!!
# DO NOT EDIT THIS FILE! THIS FILE CONTAINS THE DEFAULT VALUES FOR THE CON-
# FIGURATION! EDIT YOUR SECRET FILE (either prod.secret.exs, dev.secret.exs).
#
# This file is responsible for configuring your application
# and its dependencies with the aid of the Mix.Config module.
#
# This configuration file is loaded before any dependency and
# is restricted to this project.
use Mix.Config
# General application configuration
config :pleroma, ecto_repos: [Pleroma.Repo]
config :pleroma, Pleroma.Repo,
types: Pleroma.PostgresTypes,
telemetry_event: [Pleroma.Repo.Instrumenter]
config :pleroma, Pleroma.Captcha,
enabled: false,
seconds_valid: 60,
method: Pleroma.Captcha.Kocaptcha
config :pleroma, :hackney_pools,
federation: [
max_connections: 50,
timeout: 150_000
],
media: [
max_connections: 50,
timeout: 150_000
],
upload: [
max_connections: 25,
timeout: 300_000
]
config :pleroma, Pleroma.Captcha.Kocaptcha, endpoint: "https://captcha.kotobank.ch"
# Upload configuration
config :pleroma, Pleroma.Upload,
uploader: Pleroma.Uploaders.Local,
filters: [Pleroma.Upload.Filter.Dedupe],
link_name: true,
proxy_remote: false,
proxy_opts: [
redirect_on_failure: false,
max_body_length: 25 * 1_048_576,
http: [
follow_redirect: true,
pool: :upload
]
]
config :pleroma, Pleroma.Uploaders.Local, uploads: "uploads"
config :pleroma, Pleroma.Uploaders.S3,
bucket: nil,
public_endpoint: "https://s3.amazonaws.com"
config :pleroma, Pleroma.Uploaders.MDII,
cgi: "https://mdii.sakura.ne.jp/mdii-post.cgi",
files: "https://mdii.sakura.ne.jp"
config :pleroma, :emoji,
shortcode_globs: ["/emoji/custom/**/*.png"],
groups: [
# Put groups that have higher priority than defaults here. Example in `docs/config/custom_emoji.md`
- Finmoji: "/finmoji/128px/*-128.png",
- Custom: ["/emoji/*.png", "/emoji/custom/*.png"]
+ Finmoji: ["/finmoji/128px/*-128.png", "/instance/static/emoji/finmoji/128px/*-128.png"],
+ Custom: ["/emoji/*.png", "/emoji/custom/*.png", "/instance/static/emoji/**/*.png"]
]
config :pleroma, :uri_schemes,
valid_schemes: [
"https",
"http",
"dat",
"dweb",
"gopher",
"ipfs",
"ipns",
"irc",
"ircs",
"magnet",
"mailto",
"mumble",
"ssb",
"xmpp"
]
websocket_config = [
path: "/websocket",
serializer: [
{Phoenix.Socket.V1.JSONSerializer, "~> 1.0.0"},
{Phoenix.Socket.V2.JSONSerializer, "~> 2.0.0"}
],
timeout: 60_000,
transport_log: false,
compress: false
]
# Configures the endpoint
config :pleroma, Pleroma.Web.Endpoint,
instrumenters: [Pleroma.Web.Endpoint.Instrumenter],
url: [host: "localhost"],
http: [
dispatch: [
{:_,
[
{"/api/v1/streaming", Pleroma.Web.MastodonAPI.WebsocketHandler, []},
{"/websocket", Phoenix.Endpoint.CowboyWebSocket,
{Phoenix.Transports.WebSocket,
{Pleroma.Web.Endpoint, Pleroma.Web.UserSocket, websocket_config}}},
{:_, Phoenix.Endpoint.Cowboy2Handler, {Pleroma.Web.Endpoint, []}}
]}
]
],
protocol: "https",
secret_key_base: "aK4Abxf29xU9TTDKre9coZPUgevcVCFQJe/5xP/7Lt4BEif6idBIbjupVbOrbKxl",
signing_salt: "CqaoopA2",
render_errors: [view: Pleroma.Web.ErrorView, accepts: ~w(json)],
pubsub: [name: Pleroma.PubSub, adapter: Phoenix.PubSub.PG2],
secure_cookie_flag: true,
extra_cookie_attrs: [
"SameSite=Lax"
]
# Configures Elixir's Logger
config :logger, :console,
format: "$time $metadata[$level] $message\n",
metadata: [:request_id]
config :logger, :ex_syslogger,
level: :debug,
ident: "Pleroma",
format: "$metadata[$level] $message",
metadata: [:request_id]
config :quack,
level: :warn,
meta: [:all],
webhook_url: "https://hooks.slack.com/services/YOUR-KEY-HERE"
config :mime, :types, %{
"application/xml" => ["xml"],
"application/xrd+xml" => ["xrd+xml"],
"application/jrd+json" => ["jrd+json"],
"application/activity+json" => ["activity+json"],
"application/ld+json" => ["activity+json"]
}
config :pleroma, :websub, Pleroma.Web.Websub
config :pleroma, :ostatus, Pleroma.Web.OStatus
config :pleroma, :httpoison, Pleroma.HTTP
config :tesla, adapter: Tesla.Adapter.Hackney
# Configures http settings, upstream proxy etc.
config :pleroma, :http,
proxy_url: nil,
adapter: [
ssl_options: [
# We don't support TLS v1.3 yet
versions: [:tlsv1, :"tlsv1.1", :"tlsv1.2"]
]
]
config :pleroma, :instance,
name: "Pleroma",
email: "example@example.com",
notify_email: "noreply@example.com",
description: "A Pleroma instance, an alternative fediverse server",
limit: 5_000,
remote_limit: 100_000,
upload_limit: 16_000_000,
avatar_upload_limit: 2_000_000,
background_upload_limit: 4_000_000,
banner_upload_limit: 4_000_000,
registrations_open: true,
federating: true,
federation_reachability_timeout_days: 7,
allow_relay: true,
rewrite_policy: Pleroma.Web.ActivityPub.MRF.NoOpPolicy,
public: true,
quarantined_instances: [],
managed_config: true,
static_dir: "instance/static/",
allowed_post_formats: [
"text/plain",
"text/html",
"text/markdown"
],
finmoji_enabled: true,
mrf_transparency: true,
autofollowed_nicknames: [],
max_pinned_statuses: 1,
no_attachment_links: false,
welcome_user_nickname: nil,
welcome_message: nil,
max_report_comment_size: 1000,
safe_dm_mentions: false
config :pleroma, :markup,
# XXX - unfortunately, inline images must be enabled by default right now, because
# of custom emoji. Issue #275 discusses defanging that somehow.
allow_inline_images: true,
allow_headings: false,
allow_tables: false,
allow_fonts: false,
scrub_policy: [
Pleroma.HTML.Transform.MediaProxy,
Pleroma.HTML.Scrubber.Default
]
# Deprecated, will be gone in 1.0
config :pleroma, :fe,
theme: "pleroma-dark",
logo: "/static/logo.png",
logo_mask: true,
logo_margin: "0.1em",
background: "/static/aurora_borealis.jpg",
redirect_root_no_login: "/main/all",
redirect_root_login: "/main/friends",
show_instance_panel: true,
scope_options_enabled: false,
formatting_options_enabled: false,
collapse_message_with_subject: false,
hide_post_stats: false,
hide_user_stats: false,
scope_copy: true,
subject_line_behavior: "email",
always_show_subject_input: true
config :pleroma, :frontend_configurations,
pleroma_fe: %{
theme: "pleroma-dark",
logo: "/static/logo.png",
background: "/images/city.jpg",
redirectRootNoLogin: "/main/all",
redirectRootLogin: "/main/friends",
showInstanceSpecificPanel: true,
scopeOptionsEnabled: false,
formattingOptionsEnabled: false,
collapseMessageWithSubject: false,
hidePostStats: false,
hideUserStats: false,
scopeCopy: true,
subjectLineBehavior: "email",
alwaysShowSubjectInput: true
},
masto_fe: %{
showInstanceSpecificPanel: true
}
config :pleroma, :activitypub,
accept_blocks: true,
unfollow_blocked: true,
outgoing_blocks: true,
follow_handshake_timeout: 500
config :pleroma, :user, deny_follow_blocked: true
config :pleroma, :mrf_normalize_markup, scrub_policy: Pleroma.HTML.Scrubber.Default
config :pleroma, :mrf_rejectnonpublic,
allow_followersonly: false,
allow_direct: false
config :pleroma, :mrf_hellthread,
delist_threshold: 10,
reject_threshold: 20
config :pleroma, :mrf_simple,
media_removal: [],
media_nsfw: [],
federated_timeline_removal: [],
reject: [],
accept: []
config :pleroma, :mrf_keyword,
reject: [],
federated_timeline_removal: [],
replace: []
config :pleroma, :rich_media, enabled: true
config :pleroma, :media_proxy,
enabled: false,
proxy_opts: [
redirect_on_failure: false,
max_body_length: 25 * 1_048_576,
http: [
follow_redirect: true,
pool: :media
]
]
config :pleroma, :chat, enabled: true
config :phoenix, :format_encoders, json: Jason
config :pleroma, :gopher,
enabled: false,
ip: {0, 0, 0, 0},
port: 9999
config :pleroma, Pleroma.Web.Metadata,
providers: [Pleroma.Web.Metadata.Providers.RelMe],
unfurl_nsfw: false
config :pleroma, :suggestions,
enabled: false,
third_party_engine:
"http://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-suggestions-api.cgi?{{host}}+{{user}}",
timeout: 300_000,
limit: 23,
web: "https://vinayaka.distsn.org/?{{host}}+{{user}}"
config :pleroma, :http_security,
enabled: true,
sts: false,
sts_max_age: 31_536_000,
ct_max_age: 2_592_000,
referrer_policy: "same-origin"
config :cors_plug,
max_age: 86_400,
methods: ["POST", "PUT", "DELETE", "GET", "PATCH", "OPTIONS"],
expose: [
"Link",
"X-RateLimit-Reset",
"X-RateLimit-Limit",
"X-RateLimit-Remaining",
"X-Request-Id",
"Idempotency-Key"
],
credentials: true,
headers: ["Authorization", "Content-Type", "Idempotency-Key"]
config :pleroma, Pleroma.User,
restricted_nicknames: [
".well-known",
"~",
"about",
"activities",
"api",
"auth",
"dev",
"friend-requests",
"inbox",
"internal",
"main",
"media",
"nodeinfo",
"notice",
"oauth",
"objects",
"ostatus_subscribe",
"pleroma",
"proxy",
"push",
"registration",
"relay",
"settings",
"status",
"tag",
"user-search",
"users",
"web"
]
config :pleroma, Pleroma.Web.Federator.RetryQueue,
enabled: false,
max_jobs: 20,
initial_timeout: 30,
max_retries: 5
config :pleroma_job_queue, :queues,
federator_incoming: 50,
federator_outgoing: 50,
web_push: 50,
mailer: 10,
transmogrifier: 20,
scheduled_activities: 10
config :pleroma, :fetch_initial_posts,
enabled: false,
pages: 5
config :auto_linker,
opts: [
scheme: true,
extra: true,
class: false,
strip_prefix: false,
new_window: false,
rel: false
]
config :pleroma, :ldap,
enabled: System.get_env("LDAP_ENABLED") == "true",
host: System.get_env("LDAP_HOST") || "localhost",
port: String.to_integer(System.get_env("LDAP_PORT") || "389"),
ssl: System.get_env("LDAP_SSL") == "true",
sslopts: [],
tls: System.get_env("LDAP_TLS") == "true",
tlsopts: [],
base: System.get_env("LDAP_BASE") || "dc=example,dc=com",
uid: System.get_env("LDAP_UID") || "cn"
oauth_consumer_strategies = String.split(System.get_env("OAUTH_CONSUMER_STRATEGIES") || "")
ueberauth_providers =
for strategy <- oauth_consumer_strategies do
strategy_module_name = "Elixir.Ueberauth.Strategy.#{String.capitalize(strategy)}"
strategy_module = String.to_atom(strategy_module_name)
{String.to_atom(strategy), {strategy_module, [callback_params: ["state"]]}}
end
config :ueberauth,
Ueberauth,
base_path: "/oauth",
providers: ueberauth_providers
config :pleroma, :auth, oauth_consumer_strategies: oauth_consumer_strategies
config :pleroma, Pleroma.Emails.Mailer, adapter: Swoosh.Adapters.Sendmail
config :prometheus, Pleroma.Web.Endpoint.MetricsExporter, path: "/api/pleroma/app_metrics"
config :pleroma, Pleroma.ScheduledActivity,
daily_user_limit: 25,
total_user_limit: 300,
enabled: true
# Import environment specific config. This must remain at the bottom
# of this file so it overrides the configuration defined above.
import_config "#{Mix.env()}.exs"
diff --git a/lib/mix/tasks/pleroma/emoji.ex b/lib/mix/tasks/pleroma/emoji.ex
new file mode 100644
index 000000000..ffe733617
--- /dev/null
+++ b/lib/mix/tasks/pleroma/emoji.ex
@@ -0,0 +1,98 @@
+# Pleroma: A lightweight social networking server
+# Copyright © 2017-2018 Pleroma Authors <https://pleroma.social/>
+# SPDX-License-Identifier: AGPL-3.0-only
+
+defmodule Mix.Tasks.Pleroma.Emoji do
+ use Mix.Task
+
+ @shortdoc "Manages Pleroma instance"
+ @moduledoc """
+ """
+
+ defp fetch_manifest do
+ Tesla.get!("https://git.pleroma.social/vaartis/emoji-index/raw/master/index.json").body
+ |> Poison.decode!()
+ end
+
+ def run(["ls-packs"]) do
+ Application.ensure_all_started(:hackney)
+
+ manifest = fetch_manifest()
+
+ Enum.each(manifest, fn {name, info} ->
+ to_print = [
+ {"Name", name},
+ {"Homepage", info["homepage"]},
+ {"Description", info["description"]},
+ {"License", info["license"]},
+ {"Source", info["src"]}
+ ]
+
+ for {param, value} <- to_print do
+ IO.puts(IO.ANSI.format([:bright, param, :normal, ": ", value]))
+ end
+ end)
+ end
+
+ def run(["get-pack", pack_name]) do
+ Application.ensure_all_started(:hackney)
+
+ manifest = fetch_manifest()
+
+ if Map.has_key?(manifest, pack_name) do
+ pack = manifest[pack_name]
+ src_url = pack["src"]
+
+ IO.puts(
+ IO.ANSI.format([
+ "Downloading pack ",
+ :bright,
+ pack_name,
+ :normal,
+ " from ",
+ :underline,
+ src_url
+ ])
+ )
+
+ binary_archive = Tesla.get!(src_url).body
+
+ IO.puts("Unpacking #{pack_name} pack")
+
+ static_path = Path.join(:code.priv_dir(:pleroma), "static")
+
+ pack_path =
+ Path.join([
+ static_path,
+ Pleroma.Config.get!([:instance, :static_dir]),
+ "emoji",
+ pack_name
+ ])
+
+ files_to_unzip =
+ Enum.map(
+ pack["files"],
+ fn {_, f} -> to_charlist(f) end
+ )
+
+ {:ok, _} =
+ :zip.unzip(binary_archive,
+ cwd: pack_path,
+ file_list: files_to_unzip
+ )
+
+ IO.puts("Wriring emoji.txt for the #{pack_name} pack")
+
+ emoji_txt_str =
+ Enum.map(
+ pack["files"],
+ fn {shortcode, path} -> "#{shortcode}, /instance/static/emoji/#{pack_name}/#{path}" end
+ )
+ |> Enum.join("\n")
+
+ File.write!(Path.join(pack_path, "emoji.txt"), emoji_txt_str)
+ else
+ IO.puts(IO.ANSI.format([:bright, :red, "No pack named \"#{pack_name}\" found"]))
+ end
+ end
+end
diff --git a/lib/pleroma/emoji.ex b/lib/pleroma/emoji.ex
index 87c7f2cec..8ead7ea1e 100644
--- a/lib/pleroma/emoji.ex
+++ b/lib/pleroma/emoji.ex
@@ -1,245 +1,201 @@
# Pleroma: A lightweight social networking server
# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Pleroma.Emoji do
@moduledoc """
The emojis are loaded from:
* the built-in Finmojis (if enabled in configuration),
* the files: `config/emoji.txt` and `config/custom_emoji.txt`
* glob paths, nested folder is used as tag name for grouping e.g. priv/static/emoji/custom/nested_folder
This GenServer stores in an ETS table the list of the loaded emojis, and also allows to reload the list at runtime.
"""
use GenServer
+ require Logger
+
@type pattern :: Regex.t() | module() | String.t()
@type patterns :: pattern() | [pattern()]
@type group_patterns :: keyword(patterns())
@ets __MODULE__.Ets
@ets_options [:ordered_set, :protected, :named_table, {:read_concurrency, true}]
@groups Application.get_env(:pleroma, :emoji)[:groups]
@doc false
def start_link do
GenServer.start_link(__MODULE__, [], name: __MODULE__)
end
@doc "Reloads the emojis from disk."
@spec reload() :: :ok
def reload do
GenServer.call(__MODULE__, :reload)
end
@doc "Returns the path of the emoji `name`."
@spec get(String.t()) :: String.t() | nil
def get(name) do
case :ets.lookup(@ets, name) do
[{_, path}] -> path
_ -> nil
end
end
@doc "Returns all the emojos!!"
@spec get_all() :: [{String.t(), String.t()}, ...]
def get_all do
:ets.tab2list(@ets)
end
@doc false
def init(_) do
@ets = :ets.new(@ets, @ets_options)
GenServer.cast(self(), :reload)
{:ok, nil}
end
@doc false
def handle_cast(:reload, state) do
load()
{:noreply, state}
end
@doc false
def handle_call(:reload, _from, state) do
load()
{:reply, :ok, state}
end
@doc false
def terminate(_, _) do
:ok
end
@doc false
def code_change(_old_vsn, state, _extra) do
load()
{:ok, state}
end
defp load do
- finmoji_enabled = Keyword.get(Application.get_env(:pleroma, :instance), :finmoji_enabled)
- shortcode_globs = Application.get_env(:pleroma, :emoji)[:shortcode_globs] || []
+ static_path = Path.join(:code.priv_dir(:pleroma), "static")
- emojis =
- (load_finmoji(finmoji_enabled) ++
- load_from_file("config/emoji.txt") ++
- load_from_file("config/custom_emoji.txt") ++
- load_from_globs(shortcode_globs))
- |> Enum.reject(fn value -> value == nil end)
+ emoji_dir_path =
+ Path.join([
+ static_path,
+ Pleroma.Config.get!([:instance, :static_dir]),
+ "emoji"
+ ])
+
+ case File.ls(emoji_dir_path) do
+ {:error, :enoent} ->
+ # The custom emoji directory doesn't exist,
+ # don't do anything
+ nil
+
+ {:error, e} ->
+ # There was some other error
+ Logger.error("Could not access the custom emoji directory #{emoji_dir_path}: #{e}")
+
+ {:ok, packs} ->
+ # Print the packs we've found
+ Logger.info("Found emoji packs: #{Enum.join(packs, ", ")}")
+
+ # compat thing for old custom emoji handling
+ shortcode_globs = Application.get_env(:pleroma, :emoji)[:shortcode_globs] || []
+
+ emojis =
+ # Add the things fro
+ # Deprecated?
+ (Enum.flat_map(
+ packs,
+ fn pack -> load_from_file(Path.join([emoji_dir_path, pack, "emoji.txt"])) end
+ ) ++
+ load_from_file("config/emoji.txt") ++
+ load_from_file("config/custom_emoji.txt") ++
+ load_from_globs(shortcode_globs))
+ |> Enum.reject(fn value -> value == nil end)
+
+ true = :ets.insert(@ets, emojis)
+ end
- true = :ets.insert(@ets, emojis)
:ok
end
- @finmoji [
- "a_trusted_friend",
- "alandislands",
- "association",
- "auroraborealis",
- "baby_in_a_box",
- "bear",
- "black_gold",
- "christmasparty",
- "crosscountryskiing",
- "cupofcoffee",
- "education",
- "fashionista_finns",
- "finnishlove",
- "flag",
- "forest",
- "four_seasons_of_bbq",
- "girlpower",
- "handshake",
- "happiness",
- "headbanger",
- "icebreaker",
- "iceman",
- "joulutorttu",
- "kaamos",
- "kalsarikannit_f",
- "kalsarikannit_m",
- "karjalanpiirakka",
- "kicksled",
- "kokko",
- "lavatanssit",
- "losthopes_f",
- "losthopes_m",
- "mattinykanen",
- "meanwhileinfinland",
- "moominmamma",
- "nordicfamily",
- "out_of_office",
- "peacemaker",
- "perkele",
- "pesapallo",
- "polarbear",
- "pusa_hispida_saimensis",
- "reindeer",
- "sami",
- "sauna_f",
- "sauna_m",
- "sauna_whisk",
- "sisu",
- "stuck",
- "suomimainittu",
- "superfood",
- "swan",
- "the_cap",
- "the_conductor",
- "the_king",
- "the_voice",
- "theoriginalsanta",
- "tomoffinland",
- "torillatavataan",
- "unbreakable",
- "waiting",
- "white_nights",
- "woollysocks"
- ]
-
- defp load_finmoji(true) do
- Enum.map(@finmoji, fn finmoji ->
- file_name = "/finmoji/128px/#{finmoji}-128.png"
- group = match_extra(@groups, file_name)
- {finmoji, file_name, to_string(group)}
- end)
- end
-
- defp load_finmoji(_), do: []
-
defp load_from_file(file) do
if File.exists?(file) do
load_from_file_stream(File.stream!(file))
else
[]
end
end
defp load_from_file_stream(stream) do
stream
|> Stream.map(&String.trim/1)
|> Stream.map(fn line ->
case String.split(line, ~r/,\s*/) do
[name, file, tags] ->
{name, file, tags}
[name, file] ->
{name, file, to_string(match_extra(@groups, file))}
_ ->
nil
end
end)
|> Enum.to_list()
end
defp load_from_globs(globs) do
static_path = Path.join(:code.priv_dir(:pleroma), "static")
paths =
Enum.map(globs, fn glob ->
Path.join(static_path, glob)
|> Path.wildcard()
end)
|> Enum.concat()
Enum.map(paths, fn path ->
tag = match_extra(@groups, Path.join("/", Path.relative_to(path, static_path)))
shortcode = Path.basename(path, Path.extname(path))
external_path = Path.join("/", Path.relative_to(path, static_path))
{shortcode, external_path, to_string(tag)}
end)
end
@doc """
Finds a matching group for the given emoji filename
"""
@spec match_extra(group_patterns(), String.t()) :: atom() | nil
def match_extra(group_patterns, filename) do
match_group_patterns(group_patterns, fn pattern ->
case pattern do
%Regex{} = regex -> Regex.match?(regex, filename)
string when is_binary(string) -> filename == string
end
end)
end
defp match_group_patterns(group_patterns, matcher) do
Enum.find_value(group_patterns, fn {group, patterns} ->
patterns =
patterns
|> List.wrap()
|> Enum.map(fn pattern ->
if String.contains?(pattern, "*") do
~r(#{String.replace(pattern, "*", ".*")})
else
pattern
end
end)
Enum.any?(patterns, matcher) && group
end)
end
end
diff --git a/priv/static/finmoji/1000px/a_trusted_friend.png b/priv/static/finmoji/1000px/a_trusted_friend.png
deleted file mode 100644
index 5658d589c..000000000
Binary files a/priv/static/finmoji/1000px/a_trusted_friend.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/alandislands.png b/priv/static/finmoji/1000px/alandislands.png
deleted file mode 100644
index 094dd3284..000000000
Binary files a/priv/static/finmoji/1000px/alandislands.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/association.png b/priv/static/finmoji/1000px/association.png
deleted file mode 100644
index dad3b8864..000000000
Binary files a/priv/static/finmoji/1000px/association.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/auroraborealis.png b/priv/static/finmoji/1000px/auroraborealis.png
deleted file mode 100644
index 5875dc2c4..000000000
Binary files a/priv/static/finmoji/1000px/auroraborealis.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/baby_in_a_box.png b/priv/static/finmoji/1000px/baby_in_a_box.png
deleted file mode 100644
index 9479aaebb..000000000
Binary files a/priv/static/finmoji/1000px/baby_in_a_box.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/bear.png b/priv/static/finmoji/1000px/bear.png
deleted file mode 100644
index 5d9fbb320..000000000
Binary files a/priv/static/finmoji/1000px/bear.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/black_gold.png b/priv/static/finmoji/1000px/black_gold.png
deleted file mode 100644
index 707e949ec..000000000
Binary files a/priv/static/finmoji/1000px/black_gold.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/christmasparty.png b/priv/static/finmoji/1000px/christmasparty.png
deleted file mode 100644
index 785decb8d..000000000
Binary files a/priv/static/finmoji/1000px/christmasparty.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/crosscountryskiing.png b/priv/static/finmoji/1000px/crosscountryskiing.png
deleted file mode 100644
index 2a9bddf41..000000000
Binary files a/priv/static/finmoji/1000px/crosscountryskiing.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/cupofcoffee.png b/priv/static/finmoji/1000px/cupofcoffee.png
deleted file mode 100644
index a12cc867c..000000000
Binary files a/priv/static/finmoji/1000px/cupofcoffee.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/education.png b/priv/static/finmoji/1000px/education.png
deleted file mode 100644
index af9feee59..000000000
Binary files a/priv/static/finmoji/1000px/education.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/fashionista_finns.png b/priv/static/finmoji/1000px/fashionista_finns.png
deleted file mode 100644
index d1140250d..000000000
Binary files a/priv/static/finmoji/1000px/fashionista_finns.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/finnishlove.png b/priv/static/finmoji/1000px/finnishlove.png
deleted file mode 100644
index 00148202f..000000000
Binary files a/priv/static/finmoji/1000px/finnishlove.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/flag.png b/priv/static/finmoji/1000px/flag.png
deleted file mode 100644
index e709449d7..000000000
Binary files a/priv/static/finmoji/1000px/flag.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/forest.png b/priv/static/finmoji/1000px/forest.png
deleted file mode 100644
index b2d64ea37..000000000
Binary files a/priv/static/finmoji/1000px/forest.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/four_seasons_of_bbq.png b/priv/static/finmoji/1000px/four_seasons_of_bbq.png
deleted file mode 100644
index 42f4a7fb7..000000000
Binary files a/priv/static/finmoji/1000px/four_seasons_of_bbq.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/girlpower.png b/priv/static/finmoji/1000px/girlpower.png
deleted file mode 100644
index 7674f2e26..000000000
Binary files a/priv/static/finmoji/1000px/girlpower.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/handshake.png b/priv/static/finmoji/1000px/handshake.png
deleted file mode 100644
index d9857d699..000000000
Binary files a/priv/static/finmoji/1000px/handshake.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/happiness.png b/priv/static/finmoji/1000px/happiness.png
deleted file mode 100644
index fbfc34fe4..000000000
Binary files a/priv/static/finmoji/1000px/happiness.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/headbanger.png b/priv/static/finmoji/1000px/headbanger.png
deleted file mode 100644
index d9c2f6247..000000000
Binary files a/priv/static/finmoji/1000px/headbanger.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/icebreaker.png b/priv/static/finmoji/1000px/icebreaker.png
deleted file mode 100644
index aedce3dca..000000000
Binary files a/priv/static/finmoji/1000px/icebreaker.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/iceman.png b/priv/static/finmoji/1000px/iceman.png
deleted file mode 100644
index c172e60d5..000000000
Binary files a/priv/static/finmoji/1000px/iceman.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/joulutorttu.png b/priv/static/finmoji/1000px/joulutorttu.png
deleted file mode 100644
index d7b5a7e53..000000000
Binary files a/priv/static/finmoji/1000px/joulutorttu.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/kaamos.png b/priv/static/finmoji/1000px/kaamos.png
deleted file mode 100644
index 139b21953..000000000
Binary files a/priv/static/finmoji/1000px/kaamos.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/kalsarikannit_f.png b/priv/static/finmoji/1000px/kalsarikannit_f.png
deleted file mode 100644
index 064c86160..000000000
Binary files a/priv/static/finmoji/1000px/kalsarikannit_f.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/kalsarikannit_m.png b/priv/static/finmoji/1000px/kalsarikannit_m.png
deleted file mode 100644
index e08bd27af..000000000
Binary files a/priv/static/finmoji/1000px/kalsarikannit_m.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/karjalanpiirakka.png b/priv/static/finmoji/1000px/karjalanpiirakka.png
deleted file mode 100644
index dbf647df5..000000000
Binary files a/priv/static/finmoji/1000px/karjalanpiirakka.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/kicksled.png b/priv/static/finmoji/1000px/kicksled.png
deleted file mode 100644
index 305a56f77..000000000
Binary files a/priv/static/finmoji/1000px/kicksled.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/kokko.png b/priv/static/finmoji/1000px/kokko.png
deleted file mode 100644
index 0a5472c9a..000000000
Binary files a/priv/static/finmoji/1000px/kokko.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/lavatanssit.png b/priv/static/finmoji/1000px/lavatanssit.png
deleted file mode 100644
index a1f0a69dd..000000000
Binary files a/priv/static/finmoji/1000px/lavatanssit.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/losthopes_f.png b/priv/static/finmoji/1000px/losthopes_f.png
deleted file mode 100644
index a847df3c5..000000000
Binary files a/priv/static/finmoji/1000px/losthopes_f.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/losthopes_m.png b/priv/static/finmoji/1000px/losthopes_m.png
deleted file mode 100644
index 93c83b995..000000000
Binary files a/priv/static/finmoji/1000px/losthopes_m.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/mattinykanen.png b/priv/static/finmoji/1000px/mattinykanen.png
deleted file mode 100644
index 2d9c9d38f..000000000
Binary files a/priv/static/finmoji/1000px/mattinykanen.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/meanwhileinfinland.png b/priv/static/finmoji/1000px/meanwhileinfinland.png
deleted file mode 100644
index 794db1eed..000000000
Binary files a/priv/static/finmoji/1000px/meanwhileinfinland.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/moominmamma.png b/priv/static/finmoji/1000px/moominmamma.png
deleted file mode 100644
index d34b1b98b..000000000
Binary files a/priv/static/finmoji/1000px/moominmamma.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/nordicfamily.png b/priv/static/finmoji/1000px/nordicfamily.png
deleted file mode 100644
index 21292eaff..000000000
Binary files a/priv/static/finmoji/1000px/nordicfamily.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/out_of_office.png b/priv/static/finmoji/1000px/out_of_office.png
deleted file mode 100644
index b72d6dbd5..000000000
Binary files a/priv/static/finmoji/1000px/out_of_office.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/peacemaker.png b/priv/static/finmoji/1000px/peacemaker.png
deleted file mode 100644
index 48a51fa6f..000000000
Binary files a/priv/static/finmoji/1000px/peacemaker.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/perkele.png b/priv/static/finmoji/1000px/perkele.png
deleted file mode 100644
index 16a68d053..000000000
Binary files a/priv/static/finmoji/1000px/perkele.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/pesapallo.png b/priv/static/finmoji/1000px/pesapallo.png
deleted file mode 100644
index 2f35c8e02..000000000
Binary files a/priv/static/finmoji/1000px/pesapallo.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/polarbear.png b/priv/static/finmoji/1000px/polarbear.png
deleted file mode 100644
index ce6c65e8b..000000000
Binary files a/priv/static/finmoji/1000px/polarbear.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/pusa_hispida_saimensis.png b/priv/static/finmoji/1000px/pusa_hispida_saimensis.png
deleted file mode 100644
index 35ec8caed..000000000
Binary files a/priv/static/finmoji/1000px/pusa_hispida_saimensis.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/reindeer.png b/priv/static/finmoji/1000px/reindeer.png
deleted file mode 100644
index e60f0f0a4..000000000
Binary files a/priv/static/finmoji/1000px/reindeer.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/sami.png b/priv/static/finmoji/1000px/sami.png
deleted file mode 100644
index e4703dfd2..000000000
Binary files a/priv/static/finmoji/1000px/sami.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/sauna_f.png b/priv/static/finmoji/1000px/sauna_f.png
deleted file mode 100644
index 9a4ba8629..000000000
Binary files a/priv/static/finmoji/1000px/sauna_f.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/sauna_m.png b/priv/static/finmoji/1000px/sauna_m.png
deleted file mode 100644
index 4bdd33f7b..000000000
Binary files a/priv/static/finmoji/1000px/sauna_m.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/sauna_whisk.png b/priv/static/finmoji/1000px/sauna_whisk.png
deleted file mode 100644
index c16928065..000000000
Binary files a/priv/static/finmoji/1000px/sauna_whisk.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/sisu.png b/priv/static/finmoji/1000px/sisu.png
deleted file mode 100644
index 238453bb5..000000000
Binary files a/priv/static/finmoji/1000px/sisu.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/stuck.png b/priv/static/finmoji/1000px/stuck.png
deleted file mode 100644
index 4180e3ecd..000000000
Binary files a/priv/static/finmoji/1000px/stuck.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/suomimainittu.png b/priv/static/finmoji/1000px/suomimainittu.png
deleted file mode 100644
index af46347f5..000000000
Binary files a/priv/static/finmoji/1000px/suomimainittu.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/superfood.png b/priv/static/finmoji/1000px/superfood.png
deleted file mode 100644
index 8fa033c18..000000000
Binary files a/priv/static/finmoji/1000px/superfood.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/swan.png b/priv/static/finmoji/1000px/swan.png
deleted file mode 100644
index 5363f861d..000000000
Binary files a/priv/static/finmoji/1000px/swan.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/the_cap.png b/priv/static/finmoji/1000px/the_cap.png
deleted file mode 100644
index 7f547dc0e..000000000
Binary files a/priv/static/finmoji/1000px/the_cap.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/the_conductor.png b/priv/static/finmoji/1000px/the_conductor.png
deleted file mode 100644
index ed5ca7f1f..000000000
Binary files a/priv/static/finmoji/1000px/the_conductor.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/the_king.png b/priv/static/finmoji/1000px/the_king.png
deleted file mode 100644
index 8c3a5c66d..000000000
Binary files a/priv/static/finmoji/1000px/the_king.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/the_voice.png b/priv/static/finmoji/1000px/the_voice.png
deleted file mode 100644
index 9bfc87b3a..000000000
Binary files a/priv/static/finmoji/1000px/the_voice.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/theoriginalsanta.png b/priv/static/finmoji/1000px/theoriginalsanta.png
deleted file mode 100644
index b8dc1ef47..000000000
Binary files a/priv/static/finmoji/1000px/theoriginalsanta.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/tomoffinland.png b/priv/static/finmoji/1000px/tomoffinland.png
deleted file mode 100644
index 97da05a64..000000000
Binary files a/priv/static/finmoji/1000px/tomoffinland.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/torillatavataan.png b/priv/static/finmoji/1000px/torillatavataan.png
deleted file mode 100644
index ff7a81eda..000000000
Binary files a/priv/static/finmoji/1000px/torillatavataan.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/unbreakable.png b/priv/static/finmoji/1000px/unbreakable.png
deleted file mode 100644
index 1778fc115..000000000
Binary files a/priv/static/finmoji/1000px/unbreakable.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/waiting.png b/priv/static/finmoji/1000px/waiting.png
deleted file mode 100644
index 2aa9afa70..000000000
Binary files a/priv/static/finmoji/1000px/waiting.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/white_nights.png b/priv/static/finmoji/1000px/white_nights.png
deleted file mode 100644
index 8e9cd3fc8..000000000
Binary files a/priv/static/finmoji/1000px/white_nights.png and /dev/null differ
diff --git a/priv/static/finmoji/1000px/woollysocks.png b/priv/static/finmoji/1000px/woollysocks.png
deleted file mode 100644
index 5ee4e6de1..000000000
Binary files a/priv/static/finmoji/1000px/woollysocks.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/a_trusted_friend-128.png b/priv/static/finmoji/128px/a_trusted_friend-128.png
deleted file mode 100644
index 16d596bda..000000000
Binary files a/priv/static/finmoji/128px/a_trusted_friend-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/alandislands-128.png b/priv/static/finmoji/128px/alandislands-128.png
deleted file mode 100644
index 13cdf6e76..000000000
Binary files a/priv/static/finmoji/128px/alandislands-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/association-128.png b/priv/static/finmoji/128px/association-128.png
deleted file mode 100644
index 5b388d781..000000000
Binary files a/priv/static/finmoji/128px/association-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/auroraborealis-128.png b/priv/static/finmoji/128px/auroraborealis-128.png
deleted file mode 100644
index 7e2af77b9..000000000
Binary files a/priv/static/finmoji/128px/auroraborealis-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/baby_in_a_box-128.png b/priv/static/finmoji/128px/baby_in_a_box-128.png
deleted file mode 100644
index 9c495e24a..000000000
Binary files a/priv/static/finmoji/128px/baby_in_a_box-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/bear-128.png b/priv/static/finmoji/128px/bear-128.png
deleted file mode 100644
index 8bb101bf4..000000000
Binary files a/priv/static/finmoji/128px/bear-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/black_gold-128.png b/priv/static/finmoji/128px/black_gold-128.png
deleted file mode 100644
index 1833edab4..000000000
Binary files a/priv/static/finmoji/128px/black_gold-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/christmasparty-128.png b/priv/static/finmoji/128px/christmasparty-128.png
deleted file mode 100644
index 98216830c..000000000
Binary files a/priv/static/finmoji/128px/christmasparty-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/crosscountryskiing-128.png b/priv/static/finmoji/128px/crosscountryskiing-128.png
deleted file mode 100644
index 67553f398..000000000
Binary files a/priv/static/finmoji/128px/crosscountryskiing-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/cupofcoffee-128.png b/priv/static/finmoji/128px/cupofcoffee-128.png
deleted file mode 100644
index 20064f218..000000000
Binary files a/priv/static/finmoji/128px/cupofcoffee-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/education-128.png b/priv/static/finmoji/128px/education-128.png
deleted file mode 100644
index c98083bdd..000000000
Binary files a/priv/static/finmoji/128px/education-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/fashionista_finns-128.png b/priv/static/finmoji/128px/fashionista_finns-128.png
deleted file mode 100644
index 4248825e0..000000000
Binary files a/priv/static/finmoji/128px/fashionista_finns-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/finnishlove-128.png b/priv/static/finmoji/128px/finnishlove-128.png
deleted file mode 100644
index 5d4f9476c..000000000
Binary files a/priv/static/finmoji/128px/finnishlove-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/flag-128.png b/priv/static/finmoji/128px/flag-128.png
deleted file mode 100644
index 0087cc589..000000000
Binary files a/priv/static/finmoji/128px/flag-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/forest-128.png b/priv/static/finmoji/128px/forest-128.png
deleted file mode 100644
index 142e60b94..000000000
Binary files a/priv/static/finmoji/128px/forest-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/four_seasons_of_bbq-128.png b/priv/static/finmoji/128px/four_seasons_of_bbq-128.png
deleted file mode 100644
index bb7fe1f51..000000000
Binary files a/priv/static/finmoji/128px/four_seasons_of_bbq-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/girlpower-128.png b/priv/static/finmoji/128px/girlpower-128.png
deleted file mode 100644
index bc76a51c5..000000000
Binary files a/priv/static/finmoji/128px/girlpower-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/handshake-128.png b/priv/static/finmoji/128px/handshake-128.png
deleted file mode 100644
index 4ebf196ab..000000000
Binary files a/priv/static/finmoji/128px/handshake-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/happiness-128.png b/priv/static/finmoji/128px/happiness-128.png
deleted file mode 100644
index e28f99a26..000000000
Binary files a/priv/static/finmoji/128px/happiness-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/headbanger-128.png b/priv/static/finmoji/128px/headbanger-128.png
deleted file mode 100644
index 0de620efe..000000000
Binary files a/priv/static/finmoji/128px/headbanger-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/icebreaker-128.png b/priv/static/finmoji/128px/icebreaker-128.png
deleted file mode 100644
index 7fb36a4a3..000000000
Binary files a/priv/static/finmoji/128px/icebreaker-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/iceman-128.png b/priv/static/finmoji/128px/iceman-128.png
deleted file mode 100644
index eb814e6aa..000000000
Binary files a/priv/static/finmoji/128px/iceman-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/joulutorttu-128.png b/priv/static/finmoji/128px/joulutorttu-128.png
deleted file mode 100644
index 50448e333..000000000
Binary files a/priv/static/finmoji/128px/joulutorttu-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/kaamos-128.png b/priv/static/finmoji/128px/kaamos-128.png
deleted file mode 100644
index 8b2df03ef..000000000
Binary files a/priv/static/finmoji/128px/kaamos-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/kalsarikannit_f-128.png b/priv/static/finmoji/128px/kalsarikannit_f-128.png
deleted file mode 100644
index bcd94141a..000000000
Binary files a/priv/static/finmoji/128px/kalsarikannit_f-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/kalsarikannit_m-128.png b/priv/static/finmoji/128px/kalsarikannit_m-128.png
deleted file mode 100644
index c6938e677..000000000
Binary files a/priv/static/finmoji/128px/kalsarikannit_m-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/karjalanpiirakka-128.png b/priv/static/finmoji/128px/karjalanpiirakka-128.png
deleted file mode 100644
index a82a902db..000000000
Binary files a/priv/static/finmoji/128px/karjalanpiirakka-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/kicksled-128.png b/priv/static/finmoji/128px/kicksled-128.png
deleted file mode 100644
index ff42462db..000000000
Binary files a/priv/static/finmoji/128px/kicksled-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/kokko-128.png b/priv/static/finmoji/128px/kokko-128.png
deleted file mode 100644
index e0b6e07fa..000000000
Binary files a/priv/static/finmoji/128px/kokko-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/lavatanssit-128.png b/priv/static/finmoji/128px/lavatanssit-128.png
deleted file mode 100644
index f89dc358c..000000000
Binary files a/priv/static/finmoji/128px/lavatanssit-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/losthopes_f-128.png b/priv/static/finmoji/128px/losthopes_f-128.png
deleted file mode 100644
index 60f0949c0..000000000
Binary files a/priv/static/finmoji/128px/losthopes_f-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/losthopes_m-128.png b/priv/static/finmoji/128px/losthopes_m-128.png
deleted file mode 100644
index 9ae6f9e2f..000000000
Binary files a/priv/static/finmoji/128px/losthopes_m-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/mattinykanen-128.png b/priv/static/finmoji/128px/mattinykanen-128.png
deleted file mode 100644
index 0e81271ca..000000000
Binary files a/priv/static/finmoji/128px/mattinykanen-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/meanwhileinfinland-128.png b/priv/static/finmoji/128px/meanwhileinfinland-128.png
deleted file mode 100644
index 5a9710a3b..000000000
Binary files a/priv/static/finmoji/128px/meanwhileinfinland-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/moominmamma-128.png b/priv/static/finmoji/128px/moominmamma-128.png
deleted file mode 100644
index ae37bb94a..000000000
Binary files a/priv/static/finmoji/128px/moominmamma-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/nordicfamily-128.png b/priv/static/finmoji/128px/nordicfamily-128.png
deleted file mode 100644
index cff41b228..000000000
Binary files a/priv/static/finmoji/128px/nordicfamily-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/out_of_office-128.png b/priv/static/finmoji/128px/out_of_office-128.png
deleted file mode 100644
index 45cd1c2f5..000000000
Binary files a/priv/static/finmoji/128px/out_of_office-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/peacemaker-128.png b/priv/static/finmoji/128px/peacemaker-128.png
deleted file mode 100644
index c4e9bd447..000000000
Binary files a/priv/static/finmoji/128px/peacemaker-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/perkele-128.png b/priv/static/finmoji/128px/perkele-128.png
deleted file mode 100644
index e89e5bf32..000000000
Binary files a/priv/static/finmoji/128px/perkele-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/pesapallo-128.png b/priv/static/finmoji/128px/pesapallo-128.png
deleted file mode 100644
index 5e06bec50..000000000
Binary files a/priv/static/finmoji/128px/pesapallo-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/polarbear-128.png b/priv/static/finmoji/128px/polarbear-128.png
deleted file mode 100644
index fd3c3ec30..000000000
Binary files a/priv/static/finmoji/128px/polarbear-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/pusa_hispida_saimensis-128.png b/priv/static/finmoji/128px/pusa_hispida_saimensis-128.png
deleted file mode 100644
index 60620be5d..000000000
Binary files a/priv/static/finmoji/128px/pusa_hispida_saimensis-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/reindeer-128.png b/priv/static/finmoji/128px/reindeer-128.png
deleted file mode 100644
index 8cdd05f27..000000000
Binary files a/priv/static/finmoji/128px/reindeer-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/sami-128.png b/priv/static/finmoji/128px/sami-128.png
deleted file mode 100644
index e9e9f41a7..000000000
Binary files a/priv/static/finmoji/128px/sami-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/sauna_f-128.png b/priv/static/finmoji/128px/sauna_f-128.png
deleted file mode 100644
index 474f126ff..000000000
Binary files a/priv/static/finmoji/128px/sauna_f-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/sauna_m-128.png b/priv/static/finmoji/128px/sauna_m-128.png
deleted file mode 100644
index f7f563a9b..000000000
Binary files a/priv/static/finmoji/128px/sauna_m-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/sauna_whisk-128.png b/priv/static/finmoji/128px/sauna_whisk-128.png
deleted file mode 100644
index 80ebb55e4..000000000
Binary files a/priv/static/finmoji/128px/sauna_whisk-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/sisu-128.png b/priv/static/finmoji/128px/sisu-128.png
deleted file mode 100644
index 7b9330654..000000000
Binary files a/priv/static/finmoji/128px/sisu-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/stuck-128.png b/priv/static/finmoji/128px/stuck-128.png
deleted file mode 100644
index c14bc555d..000000000
Binary files a/priv/static/finmoji/128px/stuck-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/suomimainittu-128.png b/priv/static/finmoji/128px/suomimainittu-128.png
deleted file mode 100644
index 8d35b9be1..000000000
Binary files a/priv/static/finmoji/128px/suomimainittu-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/superfood-128.png b/priv/static/finmoji/128px/superfood-128.png
deleted file mode 100644
index 2e9d924cc..000000000
Binary files a/priv/static/finmoji/128px/superfood-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/swan-128.png b/priv/static/finmoji/128px/swan-128.png
deleted file mode 100644
index d1711c70b..000000000
Binary files a/priv/static/finmoji/128px/swan-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/the_cap-128.png b/priv/static/finmoji/128px/the_cap-128.png
deleted file mode 100644
index 10d83c22e..000000000
Binary files a/priv/static/finmoji/128px/the_cap-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/the_conductor-128.png b/priv/static/finmoji/128px/the_conductor-128.png
deleted file mode 100644
index 0da7c42e8..000000000
Binary files a/priv/static/finmoji/128px/the_conductor-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/the_king-128.png b/priv/static/finmoji/128px/the_king-128.png
deleted file mode 100644
index 07dd27ad7..000000000
Binary files a/priv/static/finmoji/128px/the_king-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/the_voice-128.png b/priv/static/finmoji/128px/the_voice-128.png
deleted file mode 100644
index bb436f95b..000000000
Binary files a/priv/static/finmoji/128px/the_voice-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/theoriginalsanta-128.png b/priv/static/finmoji/128px/theoriginalsanta-128.png
deleted file mode 100644
index 082d58c28..000000000
Binary files a/priv/static/finmoji/128px/theoriginalsanta-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/tomoffinland-128.png b/priv/static/finmoji/128px/tomoffinland-128.png
deleted file mode 100644
index 29c68bcba..000000000
Binary files a/priv/static/finmoji/128px/tomoffinland-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/torillatavataan-128.png b/priv/static/finmoji/128px/torillatavataan-128.png
deleted file mode 100644
index da7b502b4..000000000
Binary files a/priv/static/finmoji/128px/torillatavataan-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/unbreakable-128.png b/priv/static/finmoji/128px/unbreakable-128.png
deleted file mode 100644
index eb825e14f..000000000
Binary files a/priv/static/finmoji/128px/unbreakable-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/waiting-128.png b/priv/static/finmoji/128px/waiting-128.png
deleted file mode 100644
index 10b9167f2..000000000
Binary files a/priv/static/finmoji/128px/waiting-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/white_nights-128.png b/priv/static/finmoji/128px/white_nights-128.png
deleted file mode 100644
index 8eacd11f0..000000000
Binary files a/priv/static/finmoji/128px/white_nights-128.png and /dev/null differ
diff --git a/priv/static/finmoji/128px/woollysocks-128.png b/priv/static/finmoji/128px/woollysocks-128.png
deleted file mode 100644
index 856af5b2e..000000000
Binary files a/priv/static/finmoji/128px/woollysocks-128.png and /dev/null differ
diff --git a/priv/static/finmoji/LICENSE b/priv/static/finmoji/LICENSE
deleted file mode 100644
index e3a607aa3..000000000
--- a/priv/static/finmoji/LICENSE
+++ /dev/null
@@ -1 +0,0 @@
-these are under CC-BY-ND, see https://finland.fi/emoji/

File Metadata

Mime Type
text/x-diff
Expires
Sat, Sep 19, 12:30 PM (1 d, 20 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1767247
Default Alt Text
(52 KB)

Event Timeline