diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/farside.ex | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/lib/farside.ex b/lib/farside.ex index f31920a..aeec6d8 100644 --- a/lib/farside.ex +++ b/lib/farside.ex @@ -1,7 +1,7 @@ defmodule Farside do - @service_prefix Application.fetch_env!(:farside, :service_prefix) - @fallback_suffix Application.fetch_env!(:farside, :fallback_suffix) - @previous_suffix Application.fetch_env!(:farside, :previous_suffix) + @service_prefix Application.compile_env!(:farside, :service_prefix) + @fallback_suffix Application.compile_env!(:farside, :fallback_suffix) + @previous_suffix Application.compile_env!(:farside, :previous_suffix) # Define relation between available services and their parent service. # This enables Farside to redirect with links such as: @@ -19,6 +19,7 @@ defmodule Farside do @imdb_regex ~r/imdb.com|libremdb/ @quora_regex ~r/quora.com|quetre/ @gsearch_regex ~r/google.com\/search|whoogle/ + @fandom_regex ~r/fandom.com|breezewiki/ @parent_services %{ @youtube_regex => ["invidious", "piped"], @@ -33,7 +34,8 @@ defmodule Farside do @tiktok_regex => ["proxitok"], @imdb_regex => ["libremdb"], @quora_regex => ["quetre"], - @gsearch_regex => ["whoogle"] + @gsearch_regex => ["whoogle"], + @fandom_regex => ["breezewiki"] } def get_services_map do @@ -127,6 +129,15 @@ defmodule Farside do else instance end + String.match?(service, @fandom_regex) -> + # Fandom links require the subdomain to be preserved, otherwise the + # requested path won't work. + if String.contains?(service, ".fandom.com") do + wiki = String.replace(service, ".fandom.com", "") + "#{instance}/#{wiki}" + else + instance + end true -> instance end |
