summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorHJ <30-hj@users.noreply.git.pleroma.social>2023-11-19 08:52:37 +0000
committerHJ <30-hj@users.noreply.git.pleroma.social>2023-11-19 08:52:37 +0000
commit4ebfc011fc5cb24dab9aa187372579ebbadb6cd2 (patch)
tree85e4af4ce66a8bf3f09bb032a0222494d9e1bfba /lib
parentca1b18ba2df38970582f64e0fed9147a5bfff43e (diff)
parent2a58596aef655bb5e347cbb12290700f35ad64e5 (diff)
downloadpleroma-4ebfc011fc5cb24dab9aa187372579ebbadb6cd2.tar.gz
pleroma-4ebfc011fc5cb24dab9aa187372579ebbadb6cd2.zip
Merge branch 'favicon' into 'develop'
Make favicon configurable, embed favicon and manifest in server-generated meta See merge request pleroma/pleroma!3963
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/fallback/redirect_controller.ex27
1 files changed, 21 insertions, 6 deletions
diff --git a/lib/pleroma/web/fallback/redirect_controller.ex b/lib/pleroma/web/fallback/redirect_controller.ex
index 1a86f7a53..4a0885fab 100644
--- a/lib/pleroma/web/fallback/redirect_controller.ex
+++ b/lib/pleroma/web/fallback/redirect_controller.ex
@@ -17,10 +17,28 @@ defmodule Pleroma.Web.Fallback.RedirectController do
|> json(%{error: "Not implemented"})
end
+ def add_generated_metadata(page_content, extra \\ "") do
+ title = "<title>#{Pleroma.Config.get([:instance, :name])}</title>"
+ favicon = "<link rel='icon' href='#{Pleroma.Config.get([:instance, :favicon])}'>"
+ manifest = "<link rel='manifest' href='/manifest.json'>"
+
+ page_content
+ |> String.replace(
+ "<!--server-generated-meta-->",
+ title <> favicon <> manifest <> extra
+ )
+ end
+
def redirector(conn, _params, code \\ 200) do
+ {:ok, index_content} = File.read(index_file_path())
+
+ response =
+ index_content
+ |> add_generated_metadata()
+
conn
|> put_resp_content_type("text/html")
- |> send_file(code, index_file_path())
+ |> send_resp(code, response)
end
def redirector_with_meta(conn, %{"maybe_nickname_or_id" => maybe_nickname_or_id} = params) do
@@ -34,14 +52,12 @@ defmodule Pleroma.Web.Fallback.RedirectController do
def redirector_with_meta(conn, params) do
{:ok, index_content} = File.read(index_file_path())
-
tags = build_tags(conn, params)
preloads = preload_data(conn, params)
- title = "<title>#{Pleroma.Config.get([:instance, :name])}</title>"
response =
index_content
- |> String.replace("<!--server-generated-meta-->", tags <> preloads <> title)
+ |> add_generated_metadata(tags <> preloads)
conn
|> put_resp_content_type("text/html")
@@ -55,11 +71,10 @@ defmodule Pleroma.Web.Fallback.RedirectController do
def redirector_with_preload(conn, params) do
{:ok, index_content} = File.read(index_file_path())
preloads = preload_data(conn, params)
- title = "<title>#{Pleroma.Config.get([:instance, :name])}</title>"
response =
index_content
- |> String.replace("<!--server-generated-meta-->", preloads <> title)
+ |> add_generated_metadata(preloads)
conn
|> put_resp_content_type("text/html")