summaryrefslogtreecommitdiff
path: root/searx/templates
diff options
context:
space:
mode:
authorMarkus Heiser <markus.heiser@darmarit.de>2024-08-19 17:47:54 +0200
committerMarkus Heiser <markus.heiser@darmarIT.de>2024-10-05 08:18:28 +0200
commit7ab577a1fba43578b77f56b76275d0e65d03b318 (patch)
tree0179516d6d89aab77b542494b4e90b22d22cc9cf /searx/templates
parentc49a2707c1ba7122c250ba963a83d095441f4d59 (diff)
downloadsearxng-7ab577a1fba43578b77f56b76275d0e65d03b318.tar.gz
searxng-7ab577a1fba43578b77f56b76275d0e65d03b318.zip
[mod] Revision of the favicon solution
All favicons implementations have been documented and moved to the Python package: searx.favicons There is a configuration (based on Pydantic) for the favicons and all its components: searx.favicons.config A solution for caching favicons has been implemented: searx.favicon.cache If the favicon is already in the cache, the returned URL is a data URL [1] (something like `data:image/png;base64,...`). By generating a data url from the FaviconCache, additional HTTP roundtripps via the favicon_proxy are saved: favicons.proxy.favicon_url The favicon proxy service now sets a HTTP header "Cache-Control: max-age=...": favicons.proxy.favicon_proxy The resolvers now also provide the mime type (data, mime): searx.favicon.resolvers [1] https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
Diffstat (limited to 'searx/templates')
-rw-r--r--searx/templates/simple/macros.html14
-rw-r--r--searx/templates/simple/preferences/favicon.html2
2 files changed, 3 insertions, 13 deletions
diff --git a/searx/templates/simple/macros.html b/searx/templates/simple/macros.html
index 418f85227..858ee2d7e 100644
--- a/searx/templates/simple/macros.html
+++ b/searx/templates/simple/macros.html
@@ -23,12 +23,7 @@
{{- result_open_link(result.url, "url_wrapper") -}}
{% if not rtl %}
{%- if favicon_resolver != "" %}
- <div class="favicon">
- <img
- alt="{{ result.parsed_url.netloc }}"
- src="{{ favicon_proxify(result.parsed_url.netloc) }}"
- >
- </div>
+ <div class="favicon"><img loading="lazy" src="{{ favicon_url(result.parsed_url.netloc) }}"></div>
{%- endif -%}
{%- endif -%}
{%- for part in get_pretty_url(result.parsed_url) -%}
@@ -36,12 +31,7 @@
{%- endfor %}
{% if rtl %}
{%- if favicon_resolver != "" %}
- <div class="favicon">
- <img
- alt="{{ result.parsed_url.netloc }}"
- src="{{ favicon_proxify(result.parsed_url.netloc) }}"
- >
- </div>
+ <div class="favicon"><img loading="lazy" src="{{ favicon_url(result.parsed_url.netloc) }}"></div>
{%- endif -%}
{%- endif -%}
{{- result_close_link() -}}
diff --git a/searx/templates/simple/preferences/favicon.html b/searx/templates/simple/preferences/favicon.html
index 207bf2a24..3159ddfc7 100644
--- a/searx/templates/simple/preferences/favicon.html
+++ b/searx/templates/simple/preferences/favicon.html
@@ -3,7 +3,7 @@
<div class="value">{{- '' -}}
<select name="favicon_resolver" aria-labelledby="pref_favicon_resolver">{{- '' -}}
<option value=""> - </option>
- {%- for backend in favicon_backends -%}
+ {%- for backend in favicon_resolver_names -%}
<option value="{{ backend }}"
{%- if backend == favicon_resolver %} selected="selected" {%- endif -%}>
{{- backend -}}