diff options
| author | HJ <30-hj@users.noreply.git.pleroma.social> | 2023-11-19 08:52:37 +0000 | 
|---|---|---|
| committer | HJ <30-hj@users.noreply.git.pleroma.social> | 2023-11-19 08:52:37 +0000 | 
| commit | 4ebfc011fc5cb24dab9aa187372579ebbadb6cd2 (patch) | |
| tree | 85e4af4ce66a8bf3f09bb032a0222494d9e1bfba /lib | |
| parent | ca1b18ba2df38970582f64e0fed9147a5bfff43e (diff) | |
| parent | 2a58596aef655bb5e347cbb12290700f35ad64e5 (diff) | |
| download | pleroma-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.ex | 27 | 
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")  | 
