summaryrefslogtreecommitdiff
path: root/docs/dev/plugins.rst
diff options
context:
space:
mode:
authorMarkus Heiser <markus.heiser@darmarit.de>2019-12-12 19:20:56 +0100
committerMarkus Heiser <markus.heiser@darmarit.de>2019-12-12 19:20:56 +0100
commite9fff4fde6d7a8bec3fae087d2afe1fce2145f22 (patch)
tree4714c7130b9b6ae90ef53084106b23b967b4150b /docs/dev/plugins.rst
parent0011890043a65b318a32134ab4029f3c74bc07ee (diff)
downloadsearxng-e9fff4fde6d7a8bec3fae087d2afe1fce2145f22.tar.gz
searxng-e9fff4fde6d7a8bec3fae087d2afe1fce2145f22.zip
doc: proofread of the all reST sources (no content change)
Normalize reST sources with best practice and KISS in mind. to name a few points: - simplify reST tables - make use of ``literal`` markup for monospace rendering - fix code-blocks for better rendering in HTML - normalize section header markup - limit all lines to a maximum of 79 characters - add option -H to the sudo command used in code blocks - drop useless indentation of lists - ... [1] https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
Diffstat (limited to 'docs/dev/plugins.rst')
-rw-r--r--docs/dev/plugins.rst45
1 files changed, 24 insertions, 21 deletions
diff --git a/docs/dev/plugins.rst b/docs/dev/plugins.rst
index 1d77f8611..e97bbeb4a 100644
--- a/docs/dev/plugins.rst
+++ b/docs/dev/plugins.rst
@@ -1,45 +1,48 @@
+=======
Plugins
--------
+=======
-Plugins can extend or replace functionality of various components of
-searx.
+Plugins can extend or replace functionality of various components of searx.
Example plugin
-~~~~~~~~~~~~~~
+==============
.. code:: python
- name = 'Example plugin'
- description = 'This plugin extends the suggestions with the word "example"'
- default_on = False # disabled by default
+ name = 'Example plugin'
+ description = 'This plugin extends the suggestions with the word "example"'
+ default_on = False # disabled by default
- js_dependencies = tuple() # optional, list of static js files
- css_dependencies = tuple() # optional, list of static css files
+ js_dependencies = tuple() # optional, list of static js files
+ css_dependencies = tuple() # optional, list of static css files
- # attach callback to the post search hook
- # request: flask request object
- # ctx: the whole local context of the post search hook
- def post_search(request, ctx):
- ctx['search'].suggestions.add('example')
- return True
+ # attach callback to the post search hook
+ # request: flask request object
+ # ctx: the whole local context of the post search hook
+ def post_search(request, ctx):
+ ctx['search'].suggestions.add('example')
+ return True
Plugin entry points
-~~~~~~~~~~~~~~~~~~~
+===================
-Entry points (hooks) define when a plugin runs. Right now only three hooks are implemented. So feel free to implement a hook if it fits the behaviour of your plugin.
+Entry points (hooks) define when a plugin runs. Right now only three hooks are
+implemented. So feel free to implement a hook if it fits the behaviour of your
+plugin.
Pre search hook
-```````````````
+---------------
Runs BEFORE the search request. Function to implement: ``pre_search``
Post search hook
-````````````````
+----------------
Runs AFTER the search request. Function to implement: ``post_search``
Result hook
-```````````
+-----------
-Runs when a new result is added to the result list. Function to implement: ``on_result``
+Runs when a new result is added to the result list. Function to implement:
+``on_result``