From 02e9bdf7550b5f5545bd842b24b71680960dd7a7 Mon Sep 17 00:00:00 2001 From: Martin Fischer Date: Tue, 28 Dec 2021 12:51:29 +0100 Subject: [PATCH] [doc] engine tables: show engines in all categories Previously the documentation grouped the engines by their first category so e.g. YouTube and Invidious were only shown in the in the videos section but not in the music section. This commit fixes this by iterating over searx.engines.categories, which also has the added benefit that the sections are now in the same order as the tabs in the user interface. --- docs/admin/engines/configured_engines.rst | 6 +++--- docs/conf.py | 4 +++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/docs/admin/engines/configured_engines.rst b/docs/admin/engines/configured_engines.rst index 0060d1b74..82a1d2375 100644 --- a/docs/admin/engines/configured_engines.rst +++ b/docs/admin/engines/configured_engines.rst @@ -16,7 +16,7 @@ Explanation of the :ref:`general engine configuration` shown in the table SearXNG supports {{engines | length}} search engines (of which {{enabled_engine_count}} are enabled by default). - {% for category, engines in engines.items() | groupby('1.categories.0') %} + {% for category, engines in categories.items() %} {{category}} search engines --------------------------------------- @@ -39,9 +39,9 @@ Explanation of the :ref:`general engine configuration` shown in the table - Safe search - Time range - {% for name, mod in engines | sort_engines %} + {% for mod in engines | sort_engines %} - * - `{{name}} <{{mod.about and mod.about.website}}>`_ + * - `{{mod.name}} <{{mod.about and mod.about.website}}>`_ - ``!{{mod.shortcut}}`` - {%- if 'searx.engines.' + mod.__name__ in documented_modules %} :py:mod:`~searx.engines.{{mod.__name__}}` diff --git a/docs/conf.py b/docs/conf.py index d4fc50735..1b78ece60 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -40,6 +40,7 @@ exclude_patterns = ['build-templates/*.rst'] import searx.engines import searx.plugins searx.engines.load_engines(searx.settings['engines']) + jinja_contexts = { 'searx': { 'engines': searx.engines.engines, @@ -48,13 +49,14 @@ jinja_contexts = { 'node': os.getenv('NODE_MINIMUM_VERSION') }, 'enabled_engine_count': sum(not x.disabled for x in searx.engines.engines.values()), + 'categories': searx.engines.categories, }, } jinja_filters = { 'sort_engines': lambda engines: sorted( engines, - key=lambda engine: (engine[1].about.get('language', ''), engine[0]) + key=lambda engine: (engine.about.get('language', ''), engine.name) ) }