mirror of
				https://github.com/searxng/searxng.git
				synced 2025-11-03 19:17:07 -05:00 
			
		
		
		
	- Plugins configured at built time (defaults) Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
		
			
				
	
	
		
			55 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
.. _dev plugin:
 | 
						|
 | 
						|
=======
 | 
						|
Plugins
 | 
						|
=======
 | 
						|
 | 
						|
.. sidebar:: Further reading ..
 | 
						|
 | 
						|
   - :ref:`plugins generic`
 | 
						|
 | 
						|
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
 | 
						|
 | 
						|
   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
 | 
						|
 | 
						|
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.
 | 
						|
 | 
						|
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``
 |