summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorHenry Jameson <me@hjkos.com>2023-10-29 18:58:57 +0200
committerHaelwenn (lanodan) Monnier <contact@hacktivis.me>2023-11-14 11:05:23 +0100
commita5aa8ea79603e22541de04c26293dc87bd2f2ed8 (patch)
treeb55d0f1512c8abea90a6bf130e062776bb8cb945 /lib
parentbf2d6abaf2f7ccc908c512a8d5be4e091779e9e5 (diff)
downloadpleroma-a5aa8ea79603e22541de04c26293dc87bd2f2ed8.tar.gz
pleroma-a5aa8ea79603e22541de04c26293dc87bd2f2ed8.zip
Add support for configuring a favicon and embed PWA manifest in server-generated-meta
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/fallback/redirect_controller.ex26
1 files changed, 23 insertions, 3 deletions
diff --git a/lib/pleroma/web/fallback/redirect_controller.ex b/lib/pleroma/web/fallback/redirect_controller.ex
index 1a86f7a53..005a5da8b 100644
--- a/lib/pleroma/web/fallback/redirect_controller.ex
+++ b/lib/pleroma/web/fallback/redirect_controller.ex
@@ -18,9 +18,22 @@ defmodule Pleroma.Web.Fallback.RedirectController do
end
def redirector(conn, _params, code \\ 200) do
+ {:ok, index_content} = File.read(index_file_path())
+
+ 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'>"
+
+ response =
+ index_content
+ |> String.replace(
+ "<!--server-generated-meta-->",
+ title <> favicon <> manifest
+ )
+
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
@@ -38,10 +51,15 @@ defmodule Pleroma.Web.Fallback.RedirectController do
tags = build_tags(conn, params)
preloads = preload_data(conn, params)
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'>"
response =
index_content
- |> String.replace("<!--server-generated-meta-->", tags <> preloads <> title)
+ |> String.replace(
+ "<!--server-generated-meta-->",
+ tags <> preloads <> title <> favicon <> manifest
+ )
conn
|> put_resp_content_type("text/html")
@@ -56,10 +74,12 @@ defmodule Pleroma.Web.Fallback.RedirectController do
{:ok, index_content} = File.read(index_file_path())
preloads = preload_data(conn, params)
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'>"
response =
index_content
- |> String.replace("<!--server-generated-meta-->", preloads <> title)
+ |> String.replace("<!--server-generated-meta-->", preloads <> title <> favicon <> manifest)
conn
|> put_resp_content_type("text/html")