summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorAlexandre Flament <alex@al-f.net>2022-01-06 09:22:02 +0100
committerGitHub <noreply@github.com>2022-01-06 09:22:02 +0100
commitaedd6279b3d13778aab5d401ee3b9d4d247365c4 (patch)
treec10d95ca4eb907d269df2b6392567d15765f0dec /docs
parent0ebad8220fe574c690d113d7e9d6a85f5ac16616 (diff)
parenta4c2cfb837a3f92e2c0f0b8a0bac7a6e03499640 (diff)
Merge pull request #634 from not-my-profile/powered-by
Introduce `categories_as_tabs` & group engines in tabs
Diffstat (limited to 'docs')
-rw-r--r--docs/admin/engines/configured_engines.rst14
-rw-r--r--docs/admin/engines/settings.rst20
-rw-r--r--docs/conf.py10
3 files changed, 36 insertions, 8 deletions
diff --git a/docs/admin/engines/configured_engines.rst b/docs/admin/engines/configured_engines.rst
index 0060d1b74..c7b6a1f52 100644
--- a/docs/admin/engines/configured_engines.rst
+++ b/docs/admin/engines/configured_engines.rst
@@ -16,11 +16,18 @@ 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_as_tabs.items() %}
{{category}} search engines
---------------------------------------
+ {% for group, engines in engines | group_engines_in_tab %}
+
+ {% if loop.length > 1 %}
+ {{group}}
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ {% endif %}
+
.. flat-table::
:header-rows: 2
:stub-columns: 1
@@ -39,9 +46,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 %}
- * - `{{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__}}`
@@ -65,3 +72,4 @@ Explanation of the :ref:`general engine configuration` shown in the table
{% endfor %}
{% endfor %}
+ {% endfor %}
diff --git a/docs/admin/engines/settings.rst b/docs/admin/engines/settings.rst
index bcf0c6bb3..71e841774 100644
--- a/docs/admin/engines/settings.rst
+++ b/docs/admin/engines/settings.rst
@@ -222,6 +222,26 @@ Communication with search engines.
``max_redirects`` :
30 by default. Maximum redirect before it is an error.
+``categories_as_tabs:``
+-----------------------
+
+A list of the categories that are displayed as tabs in the user interface.
+Categories not listed here can still be searched with the :ref:`search-syntax`.
+
+.. code-block:: yaml
+
+ categories_as_tabs:
+ general:
+ images:
+ videos:
+ news:
+ map:
+ music:
+ it:
+ science:
+ files:
+ social media:
+
.. _settings engine:
Engine settings
diff --git a/docs/conf.py b/docs/conf.py
index 628687b6a..62b541f2f 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -39,7 +39,9 @@ exclude_patterns = ['build-templates/*.rst']
import searx.engines
import searx.plugins
+import searx.webutils
searx.engines.load_engines(searx.settings['engines'])
+
jinja_contexts = {
'searx': {
'engines': searx.engines.engines,
@@ -48,14 +50,12 @@ 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,
+ 'categories_as_tabs': {c: searx.engines.categories[c] for c in searx.settings['categories_as_tabs']},
},
}
jinja_filters = {
- 'sort_engines':
- lambda engines: sorted(
- engines,
- key=lambda engine: (engine[1].disabled, engine[1].about.get('language', ''), engine[0])
- )
+ 'group_engines_in_tab': searx.webutils.group_engines_in_tab,
}
# Let the Jinja template in configured_engines.rst access documented_modules