From 7ab577a1fba43578b77f56b76275d0e65d03b318 Mon Sep 17 00:00:00 2001 From: Markus Heiser Date: Mon, 19 Aug 2024 17:47:54 +0200 Subject: [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 --- docs/admin/settings/settings_search.rst | 3 ++- docs/conf.py | 1 + docs/src/searx.favicons.rst | 48 +++++++++++++++++++++++++++++++++ 3 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 docs/src/searx.favicons.rst (limited to 'docs') diff --git a/docs/admin/settings/settings_search.rst b/docs/admin/settings/settings_search.rst index eb63ab684..860a94af9 100644 --- a/docs/admin/settings/settings_search.rst +++ b/docs/admin/settings/settings_search.rst @@ -43,7 +43,8 @@ - ``wikipedia`` ``favicon_resolver``: - Favicon resolver, leave blank to turn off the feature by default. + :ref:`Favicon resolver `, leave blank to turn off the feature by + default. - ``allesedv`` - ``duckduckgo`` diff --git a/docs/conf.py b/docs/conf.py index fec9eb64b..27881a4e0 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -127,6 +127,7 @@ extensions = [ "sphinx_tabs.tabs", # https://github.com/djungelorm/sphinx-tabs 'myst_parser', # https://www.sphinx-doc.org/en/master/usage/markdown.html 'notfound.extension', # https://github.com/readthedocs/sphinx-notfound-page + 'sphinxcontrib.autodoc_pydantic', # https://github.com/mansenfranzen/autodoc_pydantic ] autodoc_default_options = { diff --git a/docs/src/searx.favicons.rst b/docs/src/searx.favicons.rst new file mode 100644 index 000000000..6b98d5b8e --- /dev/null +++ b/docs/src/searx.favicons.rst @@ -0,0 +1,48 @@ +.. _favicons: + +======== +Favicons +======== + +.. contents:: + :depth: 2 + :local: + :backlinks: entry + +.. automodule:: searx.favicons + :members: + +.. _favicons.config: + +Favicons Config +=============== + +.. automodule:: searx.favicons.config + :members: + +.. _favicons.proxy: + +Favicons Proxy +============== + +.. automodule:: searx.favicons.proxy + :members: + +.. _favicons.resolver: + +Favicons Resolver +================= + +.. automodule:: searx.favicons.resolvers + :members: + +.. _favicons.cache: + +Favicons Cache +============== + +.. automodule:: searx.favicons.cache + :members: + + + -- cgit v1.2.3