summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Heiser <markus.heiser@darmarIT.de>2021-12-21 21:08:35 +0100
committerGitHub <noreply@github.com>2021-12-21 21:08:35 +0100
commit56f68a1c29f0639da35aedefc5d7083f4c3da496 (patch)
treed71b96230e3a0e2c9e7de87d84398684a7a20d3f
parente869e3089cb5ed6ae7466086d5fe0505082dd954 (diff)
parentca7f1a2da6e09a81a8823b1f146b186132ef0e92 (diff)
downloadsearxng-56f68a1c29f0639da35aedefc5d7083f4c3da496.tar.gz
searxng-56f68a1c29f0639da35aedefc5d7083f4c3da496.zip
Merge pull request #632 from not-my-profile/module-column
[doc] engine-table: rename Engine column to Module & link
-rw-r--r--docs/admin/engines/configured_engines.rst8
-rw-r--r--docs/conf.py19
2 files changed, 25 insertions, 2 deletions
diff --git a/docs/admin/engines/configured_engines.rst b/docs/admin/engines/configured_engines.rst
index 4898cd5ea..0060d1b74 100644
--- a/docs/admin/engines/configured_engines.rst
+++ b/docs/admin/engines/configured_engines.rst
@@ -30,7 +30,7 @@ Explanation of the :ref:`general engine configuration` shown in the table
* - Name
- Shortcut
- - Engine
+ - Module
- Disabled
- Timeout
- Weight
@@ -43,7 +43,11 @@ Explanation of the :ref:`general engine configuration` shown in the table
* - `{{name}} <{{mod.about and mod.about.website}}>`_
- ``!{{mod.shortcut}}``
- - {{mod.__name__}}
+ - {%- if 'searx.engines.' + mod.__name__ in documented_modules %}
+ :py:mod:`~searx.engines.{{mod.__name__}}`
+ {%- else %}
+ :origin:`{{mod.__name__}} <searx/engines/{{mod.__name__}}.py>`
+ {%- endif %}
- {{(mod.disabled and "y") or ""}}
{%- if mod.about and mod.about.language %}
({{mod.about.language | upper}})
diff --git a/docs/conf.py b/docs/conf.py
index a319762e2..560e3daf8 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -58,6 +58,25 @@ jinja_filters = {
)
}
+# Let the Jinja template in configured_engines.rst access documented_modules
+# to automatically link documentation for modules if it exists.
+def setup(app):
+ ENGINES_DOCNAME = 'admin/engines/configured_engines'
+
+ def before_read_docs(app, env, docnames):
+ assert ENGINES_DOCNAME in docnames
+ docnames.remove(ENGINES_DOCNAME)
+ docnames.append(ENGINES_DOCNAME)
+ # configured_engines must come last so that sphinx already has
+ # discovered the python module documentations
+
+ def source_read(app, docname, source):
+ if docname == ENGINES_DOCNAME:
+ jinja_contexts['searx']['documented_modules'] = app.env.domains['py'].modules
+
+ app.connect('env-before-read-docs', before_read_docs)
+ app.connect('source-read', source_read)
+
# usage:: lorem :patch:`f373169` ipsum
extlinks = {}