mirror of
https://github.com/plausible/analytics.git
synced 2024-11-28 04:30:42 +03:00
30 lines
726 B
Elixir
30 lines
726 B
Elixir
|
defmodule Mix.Tasks.GenerateReferrerFavicons do
|
||
|
use Mix.Task
|
||
|
use Plausible.Repo
|
||
|
require Logger
|
||
|
|
||
|
# coveralls-ignore-start
|
||
|
|
||
|
def run(_) do
|
||
|
entries =
|
||
|
:yamerl_constr.file(Application.app_dir(:plausible, "priv/ref_inspector/referers.yml"))
|
||
|
|> List.first()
|
||
|
|> Enum.map(fn {_key, val} -> val end)
|
||
|
|> Enum.concat()
|
||
|
|
||
|
domains =
|
||
|
Enum.reduce(entries, %{}, fn {key, val}, domains ->
|
||
|
domain =
|
||
|
Enum.into(val, %{})['domains']
|
||
|
|> List.first()
|
||
|
|
||
|
Map.put_new(domains, List.to_string(key), List.to_string(domain))
|
||
|
end)
|
||
|
|
||
|
File.write!(
|
||
|
Application.app_dir(:plausible, "priv/referer_favicon_domains.json"),
|
||
|
Jason.encode!(domains)
|
||
|
)
|
||
|
end
|
||
|
end
|