Browse Source

Merge pull request #614 from kvch/gh-pages

documentation updates
Adam Tauber 8 years ago
parent
commit
19b4b47d43

+ 78
- 0
_sources/admin/api.txt View File

1
+.. _adminapi:
2
+
3
+Administration API
4
+------------------
5
+
6
+Get configuration data
7
+~~~~~~~~~~~~~~~~~~~~~~
8
+
9
+.. code:: sh
10
+
11
+    GET /config
12
+
13
+Sample response
14
+```````````````
15
+
16
+.. code:: sh
17
+    
18
+    {
19
+      "autocomplete": "", 
20
+      "categories": [
21
+        "map", 
22
+        "it", 
23
+        "images", 
24
+      ], 
25
+      "default_locale": "", 
26
+      "default_theme": "oscar", 
27
+      "engines": [
28
+        {
29
+          "categories": [
30
+            "map"
31
+          ], 
32
+          "enabled": true, 
33
+          "name": "openstreetmap", 
34
+          "shortcut": "osm"
35
+        }, 
36
+        {
37
+          "categories": [
38
+            "it"
39
+          ], 
40
+          "enabled": true, 
41
+          "name": "arch linux wiki", 
42
+          "shortcut": "al"
43
+        }, 
44
+        {
45
+          "categories": [
46
+            "images"
47
+          ], 
48
+          "enabled": true, 
49
+          "name": "google images", 
50
+          "shortcut": "goi"
51
+        }, 
52
+        {
53
+          "categories": [
54
+            "it"
55
+          ], 
56
+          "enabled": false, 
57
+          "name": "bitbucket", 
58
+          "shortcut": "bb"
59
+        }, 
60
+      ], 
61
+      "instance_name": "searx", 
62
+      "locales": {
63
+        "de": "Deutsch (German)", 
64
+        "en": "English", 
65
+        "eo": "Esperanto (Esperanto)", 
66
+      }, 
67
+      "plugins": [
68
+        {
69
+          "enabled": true, 
70
+          "name": "HTTPS rewrite"
71
+        }, 
72
+        {
73
+          "enabled": false, 
74
+          "name": "Vim-like hotkeys"
75
+        }
76
+      ], 
77
+      "safe_search": 0
78
+    }

+ 17
- 17
_sources/dev/plugins.txt View File

1
 Plugins
1
 Plugins
2
 -------
2
 -------
3
 
3
 
4
-Plugins can extend/replace functionality of various components inside
4
+Plugins can extend or replace functionality of various components of
5
 searx.
5
 searx.
6
 
6
 
7
-example\_plugin.py
8
-~~~~~~~~~~~~~~~~~~
7
+Example plugin
8
+~~~~~~~~~~~~~~
9
 
9
 
10
 .. code:: python
10
 .. code:: python
11
 
11
 
24
         ctx['search'].suggestions.add('example')
24
         ctx['search'].suggestions.add('example')
25
         return True
25
         return True
26
 
26
 
27
-Currently implemented plugin entry points (a.k.a hooks)
28
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
27
+Plugin entry points
28
+~~~~~~~~~~~~~~~~~~~
29
 
29
 
30
--  Pre search hook (``pre_search``)
31
--  Post search hook (``post_search``)
32
--  Result hook (``on_result``) (is called if a new result is added (see
33
-   https\_rewrite plugin))
30
+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.
34
 
31
 
35
-Feel free to add more hooks to the code if it is required by a plugin.
32
+Pre search hook
33
+```````````````
36
 
34
 
37
-TODO
38
-~~~~
35
+Runs BEFORE the search request. Function to implement: ``pre_search``
39
 
36
 
40
--  Better documentation
41
--  More hooks
42
--  search hook (is called while searx is requesting results (for
43
-   example: things like math-solver), the different hooks are running
44
-   parallel)
37
+Post search hook
38
+````````````````
45
 
39
 
40
+Runs AFTER the search request. Function to implement: ``post_search``
41
+
42
+Result hook
43
+```````````
44
+
45
+Runs when a new result is added to the result list. Function to implement: ``on_result``

+ 13
- 6
_sources/dev/search_api.txt View File

1
 Search API
1
 Search API
2
 ==========
2
 ==========
3
 
3
 
4
-Search API endpoints: ``/``, ``/search``
5
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4
+The search supports both ``GET`` and ``POST``. However, using ``GET`` the parameters of the request remain hidden. So it is advised to use ``GET`` for querying.
6
 
5
 
7
-Endpoints have equivalent functionality.
6
+Furthermore, two enpoints ``/`` and ``/search`` are available for querying.
7
+
8
+.. code:: sh
9
+
10
+    GET /
11
+
12
+.. code:: sh
13
+
14
+    GET /search
8
 
15
 
9
 Parameters
16
 Parameters
10
-^^^^^^^^^^
17
+``````````
11
 
18
 
12
 +------------------+----------------------------------------------------------------------------------------------------+-----------------------------+
19
 +------------------+----------------------------------------------------------------------------------------------------+-----------------------------+
13
 | Name             | Description                                                                                        |                             |
20
 | Name             | Description                                                                                        |                             |
18
 +------------------+----------------------------------------------------------------------------------------------------+-----------------------------+
25
 +------------------+----------------------------------------------------------------------------------------------------+-----------------------------+
19
 | ``engines``      | Comma separated list, specifies the active search engines                                          | optional                    |
26
 | ``engines``      | Comma separated list, specifies the active search engines                                          | optional                    |
20
 +------------------+----------------------------------------------------------------------------------------------------+-----------------------------+
27
 +------------------+----------------------------------------------------------------------------------------------------+-----------------------------+
28
+| ``lang``         | Code of the language                                                                               | optional (default: ``all``) |
29
++------------------+----------------------------------------------------------------------------------------------------+-----------------------------+
21
 | ``pageno``       | Search page number                                                                                 | optional (default: ``1``)   |
30
 | ``pageno``       | Search page number                                                                                 | optional (default: ``1``)   |
22
 +------------------+----------------------------------------------------------------------------------------------------+-----------------------------+
31
 +------------------+----------------------------------------------------------------------------------------------------+-----------------------------+
23
-
24
-Both ``GET`` and ``POST`` methods are supported.

+ 15
- 6
_sources/index.txt View File

1
-Privacy-respecting free metasearch engine
2
-=========================================
1
+Welcome to searx
2
+================
3
 
3
 
4
-Searx is a free software internet metasearch engine which aggregates results from other search engines, while not storing information about its users. Searx does not track or profile its users, nor does it share its users' data with third parties. Additionally, searx can be used over Tor for online anonymity.
4
+Searx is a free software internet metasearch engine which aggregates results from more than 70 engines, while not storing information about its users. Searx does not track or profile its users, nor does it share its users' data with third parties. Additionally, searx can be used over Tor for online anonymity.
5
 
5
 
6
 
6
 
7
 Features
7
 Features
15
  - Does not collect its users data
15
  - Does not collect its users data
16
  - Offers secure, encrypted connections (HTTPS/SSL)
16
  - Offers secure, encrypted connections (HTTPS/SSL)
17
  - Hosted by organisations, such as La Quadrature du Net, which promote digital rights
17
  - Hosted by organisations, such as La Quadrature du Net, which promote digital rights
18
+ - About 70 supported search engines
19
+ - Easy intergration with any search engine
18
 
20
 
19
 
21
 
20
-Further reading
21
----------------
22
+User documentation
23
+------------------
22
 
24
 
23
 .. toctree::
25
 .. toctree::
24
    :maxdepth: 1
26
    :maxdepth: 1
25
 
27
 
26
    user/search_syntax
28
    user/search_syntax
27
 
29
 
30
+Administrator documentation
31
+---------------------------
32
+
33
+.. toctree::
34
+   :maxdepth: 1
35
+
36
+   dev/install/installation
37
+   admin/api
28
 
38
 
29
 Developer documentation
39
 Developer documentation
30
 -----------------------
40
 -----------------------
34
 
44
 
35
    dev/quickstart
45
    dev/quickstart
36
    dev/contribution_guide
46
    dev/contribution_guide
37
-   dev/install/installation
38
    dev/engine_overview
47
    dev/engine_overview
39
    dev/search_api
48
    dev/search_api
40
    dev/plugins
49
    dev/plugins

+ 10
- 5
_static/basic.css View File

4
  *
4
  *
5
  * Sphinx stylesheet -- basic theme.
5
  * Sphinx stylesheet -- basic theme.
6
  *
6
  *
7
- * :copyright: Copyright 2007-2015 by the Sphinx team, see AUTHORS.
7
+ * :copyright: Copyright 2007-2016 by the Sphinx team, see AUTHORS.
8
  * :license: BSD, see LICENSE for details.
8
  * :license: BSD, see LICENSE for details.
9
  *
9
  *
10
  */
10
  */
52
     width: 230px;
52
     width: 230px;
53
     margin-left: -100%;
53
     margin-left: -100%;
54
     font-size: 90%;
54
     font-size: 90%;
55
+    word-wrap: break-word;
56
+    overflow-wrap : break-word;
55
 }
57
 }
56
 
58
 
57
 div.sphinxsidebar ul {
59
 div.sphinxsidebar ul {
83
     width: 170px;
85
     width: 170px;
84
 }
86
 }
85
 
87
 
86
-div.sphinxsidebar #searchbox input[type="submit"] {
87
-    width: 30px;
88
-}
89
-
90
 img {
88
 img {
91
     border: 0;
89
     border: 0;
92
     max-width: 100%;
90
     max-width: 100%;
187
 
185
 
188
 /* -- general body styles --------------------------------------------------- */
186
 /* -- general body styles --------------------------------------------------- */
189
 
187
 
188
+div.body p, div.body dd, div.body li, div.body blockquote {
189
+    -moz-hyphens: auto;
190
+    -ms-hyphens: auto;
191
+    -webkit-hyphens: auto;
192
+    hyphens: auto;
193
+}
194
+
190
 a.headerlink {
195
 a.headerlink {
191
     visibility: hidden;
196
     visibility: hidden;
192
 }
197
 }

+ 26
- 2
_static/doctools.js View File

4
  *
4
  *
5
  * Sphinx JavaScript utilities for all documentation.
5
  * Sphinx JavaScript utilities for all documentation.
6
  *
6
  *
7
- * :copyright: Copyright 2007-2015 by the Sphinx team, see AUTHORS.
7
+ * :copyright: Copyright 2007-2016 by the Sphinx team, see AUTHORS.
8
  * :license: BSD, see LICENSE for details.
8
  * :license: BSD, see LICENSE for details.
9
  *
9
  *
10
  */
10
  */
124
     this.fixFirefoxAnchorBug();
124
     this.fixFirefoxAnchorBug();
125
     this.highlightSearchWords();
125
     this.highlightSearchWords();
126
     this.initIndexTable();
126
     this.initIndexTable();
127
+    
127
   },
128
   },
128
 
129
 
129
   /**
130
   /**
252
     });
253
     });
253
     var url = parts.join('/');
254
     var url = parts.join('/');
254
     return path.substring(url.lastIndexOf('/') + 1, path.length - 1);
255
     return path.substring(url.lastIndexOf('/') + 1, path.length - 1);
256
+  },
257
+
258
+  initOnKeyListeners: function() {
259
+    $(document).keyup(function(event) {
260
+      var activeElementType = document.activeElement.tagName;
261
+      // don't navigate when in search box or textarea
262
+      if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT') {
263
+        switch (event.keyCode) {
264
+          case 37: // left
265
+            var prevHref = $('link[rel="prev"]').prop('href');
266
+            if (prevHref) {
267
+              window.location.href = prevHref;
268
+              return false;
269
+            }
270
+          case 39: // right
271
+            var nextHref = $('link[rel="next"]').prop('href');
272
+            if (nextHref) {
273
+              window.location.href = nextHref;
274
+              return false;
275
+            }
276
+        }
277
+      }
278
+    });
255
   }
279
   }
256
 };
280
 };
257
 
281
 
260
 
284
 
261
 $(document).ready(function() {
285
 $(document).ready(function() {
262
   Documentation.init();
286
   Documentation.init();
263
-});
287
+});

+ 0
- 2
_static/pygments.css View File

4
 .highlight .err { border: 1px solid #FF0000 } /* Error */
4
 .highlight .err { border: 1px solid #FF0000 } /* Error */
5
 .highlight .k { color: #007020; font-weight: bold } /* Keyword */
5
 .highlight .k { color: #007020; font-weight: bold } /* Keyword */
6
 .highlight .o { color: #666666 } /* Operator */
6
 .highlight .o { color: #666666 } /* Operator */
7
-.highlight .ch { color: #408090; font-style: italic } /* Comment.Hashbang */
8
 .highlight .cm { color: #408090; font-style: italic } /* Comment.Multiline */
7
 .highlight .cm { color: #408090; font-style: italic } /* Comment.Multiline */
9
 .highlight .cp { color: #007020 } /* Comment.Preproc */
8
 .highlight .cp { color: #007020 } /* Comment.Preproc */
10
-.highlight .cpf { color: #408090; font-style: italic } /* Comment.PreprocFile */
11
 .highlight .c1 { color: #408090; font-style: italic } /* Comment.Single */
9
 .highlight .c1 { color: #408090; font-style: italic } /* Comment.Single */
12
 .highlight .cs { color: #408090; background-color: #fff0f0 } /* Comment.Special */
10
 .highlight .cs { color: #408090; background-color: #fff0f0 } /* Comment.Special */
13
 .highlight .gd { color: #A00000 } /* Generic.Deleted */
11
 .highlight .gd { color: #A00000 } /* Generic.Deleted */

+ 3
- 3
_static/searchtools.js View File

2
  * searchtools.js_t
2
  * searchtools.js_t
3
  * ~~~~~~~~~~~~~~~~
3
  * ~~~~~~~~~~~~~~~~
4
  *
4
  *
5
- * Sphinx JavaScript utilties for the full-text search.
5
+ * Sphinx JavaScript utilities for the full-text search.
6
  *
6
  *
7
- * :copyright: Copyright 2007-2015 by the Sphinx team, see AUTHORS.
7
+ * :copyright: Copyright 2007-2016 by the Sphinx team, see AUTHORS.
8
  * :license: BSD, see LICENSE for details.
8
  * :license: BSD, see LICENSE for details.
9
  *
9
  *
10
  */
10
  */
623
    * helper function to return a node containing the
623
    * helper function to return a node containing the
624
    * search summary for a given text. keywords is a list
624
    * search summary for a given text. keywords is a list
625
    * of stemmed words, hlwords is the list of normal, unstemmed
625
    * of stemmed words, hlwords is the list of normal, unstemmed
626
-   * words. the first one is used to find the occurance, the
626
+   * words. the first one is used to find the occurrence, the
627
    * latter for highlighting it.
627
    * latter for highlighting it.
628
    */
628
    */
629
   makeSearchSummary : function(text, keywords, hlwords) {
629
   makeSearchSummary : function(text, keywords, hlwords) {

+ 2
- 0
_static/style.css View File

38
 
38
 
39
 div.sphinxsidebar {
39
 div.sphinxsidebar {
40
     width: 220px;
40
     width: 220px;
41
+    word-wrap: normal !important;
42
+    overflow-wrap: normal !important;
41
 }
43
 }
42
 
44
 
43
 hr {
45
 hr {

+ 2
- 2
_static/websupport.js View File

2
  * websupport.js
2
  * websupport.js
3
  * ~~~~~~~~~~~~~
3
  * ~~~~~~~~~~~~~
4
  *
4
  *
5
- * sphinx.websupport utilties for all documentation.
5
+ * sphinx.websupport utilities for all documentation.
6
  *
6
  *
7
- * :copyright: Copyright 2007-2015 by the Sphinx team, see AUTHORS.
7
+ * :copyright: Copyright 2007-2016 by the Sphinx team, see AUTHORS.
8
  * :license: BSD, see LICENSE for details.
8
  * :license: BSD, see LICENSE for details.
9
  *
9
  *
10
  */
10
  */

+ 146
- 0
admin/api.html View File

1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+
4
+
5
+<html xmlns="http://www.w3.org/1999/xhtml">
6
+  <head>
7
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8
+    
9
+    <title>Administration API &mdash; searx 0.9.0 documentation</title>
10
+    
11
+    <link rel="stylesheet" href="../_static/style.css" type="text/css" />
12
+    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
13
+    
14
+    <script type="text/javascript">
15
+      var DOCUMENTATION_OPTIONS = {
16
+        URL_ROOT:    '../',
17
+        VERSION:     '0.9.0',
18
+        COLLAPSE_INDEX: false,
19
+        FILE_SUFFIX: '.html',
20
+        HAS_SOURCE:  true
21
+      };
22
+    </script>
23
+    <script type="text/javascript" src="../_static/jquery.js"></script>
24
+    <script type="text/javascript" src="../_static/underscore.js"></script>
25
+    <script type="text/javascript" src="../_static/doctools.js"></script>
26
+    <link rel="top" title="searx 0.9.0 documentation" href="../index.html" />
27
+    <link rel="next" title="Development Quickstart" href="../dev/quickstart.html" />
28
+    <link rel="prev" title="Installation" href="../dev/install/installation.html" />
29
+   
30
+  
31
+  <link media="only screen and (max-device-width: 480px)" href="../_static/small_flask.css" type= "text/css" rel="stylesheet" />
32
+  <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9">
33
+
34
+  </head>
35
+  <body role="document">  
36
+
37
+    <div class="document">
38
+      <div class="documentwrapper">
39
+        <div class="bodywrapper">
40
+          <div class="body" role="main">
41
+            
42
+  <div class="section" id="administration-api">
43
+<span id="adminapi"></span><h1>Administration API<a class="headerlink" href="#administration-api" title="Permalink to this headline">¶</a></h1>
44
+<div class="section" id="get-configuration-data">
45
+<h2>Get configuration data<a class="headerlink" href="#get-configuration-data" title="Permalink to this headline">¶</a></h2>
46
+<div class="code sh highlight-default"><div class="highlight"><pre><span class="n">GET</span> <span class="o">/</span><span class="n">config</span>
47
+</pre></div>
48
+</div>
49
+<div class="section" id="sample-response">
50
+<h3>Sample response<a class="headerlink" href="#sample-response" title="Permalink to this headline">¶</a></h3>
51
+<div class="code sh highlight-default"><div class="highlight"><pre><span class="p">{</span>
52
+  <span class="s">&quot;autocomplete&quot;</span><span class="p">:</span> <span class="s">&quot;&quot;</span><span class="p">,</span>
53
+  <span class="s">&quot;categories&quot;</span><span class="p">:</span> <span class="p">[</span>
54
+    <span class="s">&quot;map&quot;</span><span class="p">,</span>
55
+    <span class="s">&quot;it&quot;</span><span class="p">,</span>
56
+    <span class="s">&quot;images&quot;</span><span class="p">,</span>
57
+  <span class="p">],</span>
58
+  <span class="s">&quot;default_locale&quot;</span><span class="p">:</span> <span class="s">&quot;&quot;</span><span class="p">,</span>
59
+  <span class="s">&quot;default_theme&quot;</span><span class="p">:</span> <span class="s">&quot;oscar&quot;</span><span class="p">,</span>
60
+  <span class="s">&quot;engines&quot;</span><span class="p">:</span> <span class="p">[</span>
61
+    <span class="p">{</span>
62
+      <span class="s">&quot;categories&quot;</span><span class="p">:</span> <span class="p">[</span>
63
+        <span class="s">&quot;map&quot;</span>
64
+      <span class="p">],</span>
65
+      <span class="s">&quot;enabled&quot;</span><span class="p">:</span> <span class="n">true</span><span class="p">,</span>
66
+      <span class="s">&quot;name&quot;</span><span class="p">:</span> <span class="s">&quot;openstreetmap&quot;</span><span class="p">,</span>
67
+      <span class="s">&quot;shortcut&quot;</span><span class="p">:</span> <span class="s">&quot;osm&quot;</span>
68
+    <span class="p">},</span>
69
+    <span class="p">{</span>
70
+      <span class="s">&quot;categories&quot;</span><span class="p">:</span> <span class="p">[</span>
71
+        <span class="s">&quot;it&quot;</span>
72
+      <span class="p">],</span>
73
+      <span class="s">&quot;enabled&quot;</span><span class="p">:</span> <span class="n">true</span><span class="p">,</span>
74
+      <span class="s">&quot;name&quot;</span><span class="p">:</span> <span class="s">&quot;arch linux wiki&quot;</span><span class="p">,</span>
75
+      <span class="s">&quot;shortcut&quot;</span><span class="p">:</span> <span class="s">&quot;al&quot;</span>
76
+    <span class="p">},</span>
77
+    <span class="p">{</span>
78
+      <span class="s">&quot;categories&quot;</span><span class="p">:</span> <span class="p">[</span>
79
+        <span class="s">&quot;images&quot;</span>
80
+      <span class="p">],</span>
81
+      <span class="s">&quot;enabled&quot;</span><span class="p">:</span> <span class="n">true</span><span class="p">,</span>
82
+      <span class="s">&quot;name&quot;</span><span class="p">:</span> <span class="s">&quot;google images&quot;</span><span class="p">,</span>
83
+      <span class="s">&quot;shortcut&quot;</span><span class="p">:</span> <span class="s">&quot;goi&quot;</span>
84
+    <span class="p">},</span>
85
+    <span class="p">{</span>
86
+      <span class="s">&quot;categories&quot;</span><span class="p">:</span> <span class="p">[</span>
87
+        <span class="s">&quot;it&quot;</span>
88
+      <span class="p">],</span>
89
+      <span class="s">&quot;enabled&quot;</span><span class="p">:</span> <span class="n">false</span><span class="p">,</span>
90
+      <span class="s">&quot;name&quot;</span><span class="p">:</span> <span class="s">&quot;bitbucket&quot;</span><span class="p">,</span>
91
+      <span class="s">&quot;shortcut&quot;</span><span class="p">:</span> <span class="s">&quot;bb&quot;</span>
92
+    <span class="p">},</span>
93
+  <span class="p">],</span>
94
+  <span class="s">&quot;instance_name&quot;</span><span class="p">:</span> <span class="s">&quot;searx&quot;</span><span class="p">,</span>
95
+  <span class="s">&quot;locales&quot;</span><span class="p">:</span> <span class="p">{</span>
96
+    <span class="s">&quot;de&quot;</span><span class="p">:</span> <span class="s">&quot;Deutsch (German)&quot;</span><span class="p">,</span>
97
+    <span class="s">&quot;en&quot;</span><span class="p">:</span> <span class="s">&quot;English&quot;</span><span class="p">,</span>
98
+    <span class="s">&quot;eo&quot;</span><span class="p">:</span> <span class="s">&quot;Esperanto (Esperanto)&quot;</span><span class="p">,</span>
99
+  <span class="p">},</span>
100
+  <span class="s">&quot;plugins&quot;</span><span class="p">:</span> <span class="p">[</span>
101
+    <span class="p">{</span>
102
+      <span class="s">&quot;enabled&quot;</span><span class="p">:</span> <span class="n">true</span><span class="p">,</span>
103
+      <span class="s">&quot;name&quot;</span><span class="p">:</span> <span class="s">&quot;HTTPS rewrite&quot;</span>
104
+    <span class="p">},</span>
105
+    <span class="p">{</span>
106
+      <span class="s">&quot;enabled&quot;</span><span class="p">:</span> <span class="n">false</span><span class="p">,</span>
107
+      <span class="s">&quot;name&quot;</span><span class="p">:</span> <span class="s">&quot;Vim-like hotkeys&quot;</span>
108
+    <span class="p">}</span>
109
+  <span class="p">],</span>
110
+  <span class="s">&quot;safe_search&quot;</span><span class="p">:</span> <span class="mi">0</span>
111
+<span class="p">}</span>
112
+</pre></div>
113
+</div>
114
+</div>
115
+</div>
116
+</div>
117
+
118
+
119
+          </div>
120
+        </div>
121
+      </div>
122
+      <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
123
+        <div class="sphinxsidebarwrapper"><div class="sidebar_container body">
124
+<h1>Searx</h1>
125
+<ul>
126
+    <li><a href="../index.html">Home</a></li>
127
+    <li><a href="https://github.com/asciimoo/searx">Source</a></li>
128
+    <li><a href="https://github.com/asciimoo/searx/wiki">Wiki</a></li>
129
+    <li><a href="https://github.com/asciimoo/searx/wiki/Searx-instances">Public instances</a></li>
130
+</ul>
131
+<hr />
132
+<ul>
133
+    <li><a href="https://twitter.com/Searx_engine">Twitter</a></li>
134
+    <li><a href="https://flattr.com/submit/auto?user_id=asciimoo&url=https://github.com/asciimoo/searx&title=searx&language=&tags=github&category=software">Flattr</a></li>
135
+    <li><a href="https://gratipay.com/searx">Gratipay</a></li>
136
+</ul>
137
+</div>
138
+        </div>
139
+      </div>
140
+      <div class="clearer"></div>
141
+    </div>
142
+    <div class="footer">
143
+      &copy; Copyright 2015-2016, Adam Tauber.
144
+    </div>
145
+  </body>
146
+</html>

+ 5
- 5
dev/contribution_guide.html View File

6
   <head>
6
   <head>
7
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8
     
8
     
9
-    <title>How to contribute &mdash; searx 0.8.0 documentation</title>
9
+    <title>How to contribute &mdash; searx 0.9.0 documentation</title>
10
     
10
     
11
     <link rel="stylesheet" href="../_static/style.css" type="text/css" />
11
     <link rel="stylesheet" href="../_static/style.css" type="text/css" />
12
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
12
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
14
     <script type="text/javascript">
14
     <script type="text/javascript">
15
       var DOCUMENTATION_OPTIONS = {
15
       var DOCUMENTATION_OPTIONS = {
16
         URL_ROOT:    '../',
16
         URL_ROOT:    '../',
17
-        VERSION:     '0.8.0',
17
+        VERSION:     '0.9.0',
18
         COLLAPSE_INDEX: false,
18
         COLLAPSE_INDEX: false,
19
         FILE_SUFFIX: '.html',
19
         FILE_SUFFIX: '.html',
20
         HAS_SOURCE:  true
20
         HAS_SOURCE:  true
23
     <script type="text/javascript" src="../_static/jquery.js"></script>
23
     <script type="text/javascript" src="../_static/jquery.js"></script>
24
     <script type="text/javascript" src="../_static/underscore.js"></script>
24
     <script type="text/javascript" src="../_static/underscore.js"></script>
25
     <script type="text/javascript" src="../_static/doctools.js"></script>
25
     <script type="text/javascript" src="../_static/doctools.js"></script>
26
-    <link rel="top" title="searx 0.8.0 documentation" href="../index.html" />
27
-    <link rel="next" title="Installation" href="install/installation.html" />
26
+    <link rel="top" title="searx 0.9.0 documentation" href="../index.html" />
27
+    <link rel="next" title="Engine overview" href="engine_overview.html" />
28
     <link rel="prev" title="Development Quickstart" href="quickstart.html" />
28
     <link rel="prev" title="Development Quickstart" href="quickstart.html" />
29
    
29
    
30
   
30
   
146
       <div class="clearer"></div>
146
       <div class="clearer"></div>
147
     </div>
147
     </div>
148
     <div class="footer">
148
     <div class="footer">
149
-      &copy; Copyright 2015, Adam Tauber.
149
+      &copy; Copyright 2015-2016, Adam Tauber.
150
     </div>
150
     </div>
151
   </body>
151
   </body>
152
 </html>
152
 </html>

+ 16
- 16
dev/engine_overview.html View File

6
   <head>
6
   <head>
7
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8
     
8
     
9
-    <title>Engine overview &mdash; searx 0.8.0 documentation</title>
9
+    <title>Engine overview &mdash; searx 0.9.0 documentation</title>
10
     
10
     
11
     <link rel="stylesheet" href="../_static/style.css" type="text/css" />
11
     <link rel="stylesheet" href="../_static/style.css" type="text/css" />
12
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
12
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
14
     <script type="text/javascript">
14
     <script type="text/javascript">
15
       var DOCUMENTATION_OPTIONS = {
15
       var DOCUMENTATION_OPTIONS = {
16
         URL_ROOT:    '../',
16
         URL_ROOT:    '../',
17
-        VERSION:     '0.8.0',
17
+        VERSION:     '0.9.0',
18
         COLLAPSE_INDEX: false,
18
         COLLAPSE_INDEX: false,
19
         FILE_SUFFIX: '.html',
19
         FILE_SUFFIX: '.html',
20
         HAS_SOURCE:  true
20
         HAS_SOURCE:  true
23
     <script type="text/javascript" src="../_static/jquery.js"></script>
23
     <script type="text/javascript" src="../_static/jquery.js"></script>
24
     <script type="text/javascript" src="../_static/underscore.js"></script>
24
     <script type="text/javascript" src="../_static/underscore.js"></script>
25
     <script type="text/javascript" src="../_static/doctools.js"></script>
25
     <script type="text/javascript" src="../_static/doctools.js"></script>
26
-    <link rel="top" title="searx 0.8.0 documentation" href="../index.html" />
26
+    <link rel="top" title="searx 0.9.0 documentation" href="../index.html" />
27
     <link rel="next" title="Search API" href="search_api.html" />
27
     <link rel="next" title="Search API" href="search_api.html" />
28
-    <link rel="prev" title="Installation" href="install/installation.html" />
28
+    <link rel="prev" title="How to contribute" href="contribution_guide.html" />
29
    
29
    
30
   
30
   
31
   <link media="only screen and (max-device-width: 480px)" href="../_static/small_flask.css" type= "text/css" rel="stylesheet" />
31
   <link media="only screen and (max-device-width: 480px)" href="../_static/small_flask.css" type= "text/css" rel="stylesheet" />
190
 </div>
190
 </div>
191
 <div class="section" id="example-code">
191
 <div class="section" id="example-code">
192
 <h3><a class="toc-backref" href="#id7">example code</a><a class="headerlink" href="#example-code" title="Permalink to this headline">¶</a></h3>
192
 <h3><a class="toc-backref" href="#id7">example code</a><a class="headerlink" href="#example-code" title="Permalink to this headline">¶</a></h3>
193
-<div class="code python highlight-python"><div class="highlight"><pre><span class="c1"># engine dependent config</span>
194
-<span class="n">categories</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;general&#39;</span><span class="p">]</span>
195
-<span class="n">paging</span> <span class="o">=</span> <span class="bp">True</span>
196
-<span class="n">language_support</span> <span class="o">=</span> <span class="bp">True</span>
193
+<div class="code python highlight-default"><div class="highlight"><pre><span class="c"># engine dependent config</span>
194
+<span class="n">categories</span> <span class="o">=</span> <span class="p">[</span><span class="s">&#39;general&#39;</span><span class="p">]</span>
195
+<span class="n">paging</span> <span class="o">=</span> <span class="k">True</span>
196
+<span class="n">language_support</span> <span class="o">=</span> <span class="k">True</span>
197
 </pre></div>
197
 </pre></div>
198
 </div>
198
 </div>
199
 </div>
199
 </div>
313
 </div>
313
 </div>
314
 <div class="section" id="id1">
314
 <div class="section" id="id1">
315
 <h3><a class="toc-backref" href="#id11">example code</a><a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h3>
315
 <h3><a class="toc-backref" href="#id11">example code</a><a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h3>
316
-<div class="code python highlight-python"><div class="highlight"><pre><span class="c1"># search-url</span>
317
-<span class="n">base_url</span> <span class="o">=</span> <span class="s1">&#39;https://example.com/&#39;</span>
318
-<span class="n">search_string</span> <span class="o">=</span> <span class="s1">&#39;search?{query}&amp;page={page}&#39;</span>
316
+<div class="code python highlight-default"><div class="highlight"><pre><span class="c"># search-url</span>
317
+<span class="n">base_url</span> <span class="o">=</span> <span class="s">&#39;https://example.com/&#39;</span>
318
+<span class="n">search_string</span> <span class="o">=</span> <span class="s">&#39;search?{query}&amp;page={page}&#39;</span>
319
 
319
 
320
-<span class="c1"># do search-request</span>
320
+<span class="c"># do search-request</span>
321
 <span class="k">def</span> <span class="nf">request</span><span class="p">(</span><span class="n">query</span><span class="p">,</span> <span class="n">params</span><span class="p">):</span>
321
 <span class="k">def</span> <span class="nf">request</span><span class="p">(</span><span class="n">query</span><span class="p">,</span> <span class="n">params</span><span class="p">):</span>
322
     <span class="n">search_path</span> <span class="o">=</span> <span class="n">search_string</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
322
     <span class="n">search_path</span> <span class="o">=</span> <span class="n">search_string</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
323
-        <span class="n">query</span><span class="o">=</span><span class="n">urlencode</span><span class="p">({</span><span class="s1">&#39;q&#39;</span><span class="p">:</span> <span class="n">query</span><span class="p">}),</span>
324
-        <span class="n">page</span><span class="o">=</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;pageno&#39;</span><span class="p">])</span>
323
+        <span class="n">query</span><span class="o">=</span><span class="n">urlencode</span><span class="p">({</span><span class="s">&#39;q&#39;</span><span class="p">:</span> <span class="n">query</span><span class="p">}),</span>
324
+        <span class="n">page</span><span class="o">=</span><span class="n">params</span><span class="p">[</span><span class="s">&#39;pageno&#39;</span><span class="p">])</span>
325
 
325
 
326
-    <span class="n">params</span><span class="p">[</span><span class="s1">&#39;url&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">base_url</span> <span class="o">+</span> <span class="n">search_path</span>
326
+    <span class="n">params</span><span class="p">[</span><span class="s">&#39;url&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">base_url</span> <span class="o">+</span> <span class="n">search_path</span>
327
 
327
 
328
     <span class="k">return</span> <span class="n">params</span>
328
     <span class="k">return</span> <span class="n">params</span>
329
 </pre></div>
329
 </pre></div>
582
       <div class="clearer"></div>
582
       <div class="clearer"></div>
583
     </div>
583
     </div>
584
     <div class="footer">
584
     <div class="footer">
585
-      &copy; Copyright 2015, Adam Tauber.
585
+      &copy; Copyright 2015-2016, Adam Tauber.
586
     </div>
586
     </div>
587
   </body>
587
   </body>
588
 </html>
588
 </html>

+ 6
- 6
dev/install/installation.html View File

6
   <head>
6
   <head>
7
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8
     
8
     
9
-    <title>Installation &mdash; searx 0.8.0 documentation</title>
9
+    <title>Installation &mdash; searx 0.9.0 documentation</title>
10
     
10
     
11
     <link rel="stylesheet" href="../../_static/style.css" type="text/css" />
11
     <link rel="stylesheet" href="../../_static/style.css" type="text/css" />
12
     <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
12
     <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
14
     <script type="text/javascript">
14
     <script type="text/javascript">
15
       var DOCUMENTATION_OPTIONS = {
15
       var DOCUMENTATION_OPTIONS = {
16
         URL_ROOT:    '../../',
16
         URL_ROOT:    '../../',
17
-        VERSION:     '0.8.0',
17
+        VERSION:     '0.9.0',
18
         COLLAPSE_INDEX: false,
18
         COLLAPSE_INDEX: false,
19
         FILE_SUFFIX: '.html',
19
         FILE_SUFFIX: '.html',
20
         HAS_SOURCE:  true
20
         HAS_SOURCE:  true
23
     <script type="text/javascript" src="../../_static/jquery.js"></script>
23
     <script type="text/javascript" src="../../_static/jquery.js"></script>
24
     <script type="text/javascript" src="../../_static/underscore.js"></script>
24
     <script type="text/javascript" src="../../_static/underscore.js"></script>
25
     <script type="text/javascript" src="../../_static/doctools.js"></script>
25
     <script type="text/javascript" src="../../_static/doctools.js"></script>
26
-    <link rel="top" title="searx 0.8.0 documentation" href="../../index.html" />
27
-    <link rel="next" title="Engine overview" href="../engine_overview.html" />
28
-    <link rel="prev" title="How to contribute" href="../contribution_guide.html" />
26
+    <link rel="top" title="searx 0.9.0 documentation" href="../../index.html" />
27
+    <link rel="next" title="Administration API" href="../../admin/api.html" />
28
+    <link rel="prev" title="Search syntax" href="../../user/search_syntax.html" />
29
    
29
    
30
   
30
   
31
   <link media="only screen and (max-device-width: 480px)" href="../../_static/small_flask.css" type= "text/css" rel="stylesheet" />
31
   <link media="only screen and (max-device-width: 480px)" href="../../_static/small_flask.css" type= "text/css" rel="stylesheet" />
332
       <div class="clearer"></div>
332
       <div class="clearer"></div>
333
     </div>
333
     </div>
334
     <div class="footer">
334
     <div class="footer">
335
-      &copy; Copyright 2015, Adam Tauber.
335
+      &copy; Copyright 2015-2016, Adam Tauber.
336
     </div>
336
     </div>
337
   </body>
337
   </body>
338
 </html>
338
 </html>

+ 31
- 35
dev/plugins.html View File

6
   <head>
6
   <head>
7
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8
     
8
     
9
-    <title>Plugins &mdash; searx 0.8.0 documentation</title>
9
+    <title>Plugins &mdash; searx 0.9.0 documentation</title>
10
     
10
     
11
     <link rel="stylesheet" href="../_static/style.css" type="text/css" />
11
     <link rel="stylesheet" href="../_static/style.css" type="text/css" />
12
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
12
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
14
     <script type="text/javascript">
14
     <script type="text/javascript">
15
       var DOCUMENTATION_OPTIONS = {
15
       var DOCUMENTATION_OPTIONS = {
16
         URL_ROOT:    '../',
16
         URL_ROOT:    '../',
17
-        VERSION:     '0.8.0',
17
+        VERSION:     '0.9.0',
18
         COLLAPSE_INDEX: false,
18
         COLLAPSE_INDEX: false,
19
         FILE_SUFFIX: '.html',
19
         FILE_SUFFIX: '.html',
20
         HAS_SOURCE:  true
20
         HAS_SOURCE:  true
23
     <script type="text/javascript" src="../_static/jquery.js"></script>
23
     <script type="text/javascript" src="../_static/jquery.js"></script>
24
     <script type="text/javascript" src="../_static/underscore.js"></script>
24
     <script type="text/javascript" src="../_static/underscore.js"></script>
25
     <script type="text/javascript" src="../_static/doctools.js"></script>
25
     <script type="text/javascript" src="../_static/doctools.js"></script>
26
-    <link rel="top" title="searx 0.8.0 documentation" href="../index.html" />
26
+    <link rel="top" title="searx 0.9.0 documentation" href="../index.html" />
27
     <link rel="next" title="Translation" href="translation.html" />
27
     <link rel="next" title="Translation" href="translation.html" />
28
     <link rel="prev" title="Search API" href="search_api.html" />
28
     <link rel="prev" title="Search API" href="search_api.html" />
29
    
29
    
41
             
41
             
42
   <div class="section" id="plugins">
42
   <div class="section" id="plugins">
43
 <h1>Plugins<a class="headerlink" href="#plugins" title="Permalink to this headline">¶</a></h1>
43
 <h1>Plugins<a class="headerlink" href="#plugins" title="Permalink to this headline">¶</a></h1>
44
-<p>Plugins can extend/replace functionality of various components inside
44
+<p>Plugins can extend or replace functionality of various components of
45
 searx.</p>
45
 searx.</p>
46
-<div class="section" id="example-plugin-py">
47
-<h2>example_plugin.py<a class="headerlink" href="#example-plugin-py" title="Permalink to this headline">¶</a></h2>
48
-<div class="code python highlight-python"><div class="highlight"><pre><span class="n">name</span> <span class="o">=</span> <span class="s1">&#39;Example plugin&#39;</span>
49
-<span class="n">description</span> <span class="o">=</span> <span class="s1">&#39;This plugin extends the suggestions with the word &quot;example&quot;&#39;</span>
50
-<span class="n">default_on</span> <span class="o">=</span> <span class="bp">False</span>  <span class="c1"># disable by default</span>
46
+<div class="section" id="example-plugin">
47
+<h2>Example plugin<a class="headerlink" href="#example-plugin" title="Permalink to this headline">¶</a></h2>
48
+<div class="code python highlight-default"><div class="highlight"><pre><span class="n">name</span> <span class="o">=</span> <span class="s">&#39;Example plugin&#39;</span>
49
+<span class="n">description</span> <span class="o">=</span> <span class="s">&#39;This plugin extends the suggestions with the word &quot;example&quot;&#39;</span>
50
+<span class="n">default_on</span> <span class="o">=</span> <span class="k">False</span>  <span class="c"># disable by default</span>
51
 
51
 
52
-<span class="n">js_dependencies</span> <span class="o">=</span> <span class="nb">tuple</span><span class="p">()</span>  <span class="c1"># optional, list of static js files</span>
53
-<span class="n">css_dependencies</span> <span class="o">=</span> <span class="nb">tuple</span><span class="p">()</span>  <span class="c1"># optional, list of static css files</span>
52
+<span class="n">js_dependencies</span> <span class="o">=</span> <span class="nb">tuple</span><span class="p">()</span>  <span class="c"># optional, list of static js files</span>
53
+<span class="n">css_dependencies</span> <span class="o">=</span> <span class="nb">tuple</span><span class="p">()</span>  <span class="c"># optional, list of static css files</span>
54
 
54
 
55
 
55
 
56
-<span class="c1"># attach callback to the post search hook</span>
57
-<span class="c1">#  request: flask request object</span>
58
-<span class="c1">#  ctx: the whole local context of the post search hook</span>
56
+<span class="c"># attach callback to the post search hook</span>
57
+<span class="c">#  request: flask request object</span>
58
+<span class="c">#  ctx: the whole local context of the post search hook</span>
59
 <span class="k">def</span> <span class="nf">post_search</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">ctx</span><span class="p">):</span>
59
 <span class="k">def</span> <span class="nf">post_search</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">ctx</span><span class="p">):</span>
60
-    <span class="n">ctx</span><span class="p">[</span><span class="s1">&#39;search&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">suggestions</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="s1">&#39;example&#39;</span><span class="p">)</span>
61
-    <span class="k">return</span> <span class="bp">True</span>
60
+    <span class="n">ctx</span><span class="p">[</span><span class="s">&#39;search&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">suggestions</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="s">&#39;example&#39;</span><span class="p">)</span>
61
+    <span class="k">return</span> <span class="k">True</span>
62
 </pre></div>
62
 </pre></div>
63
 </div>
63
 </div>
64
 </div>
64
 </div>
65
-<div class="section" id="currently-implemented-plugin-entry-points-a-k-a-hooks">
66
-<h2>Currently implemented plugin entry points (a.k.a hooks)<a class="headerlink" href="#currently-implemented-plugin-entry-points-a-k-a-hooks" title="Permalink to this headline">¶</a></h2>
67
-<ul class="simple">
68
-<li>Pre search hook (<code class="docutils literal"><span class="pre">pre_search</span></code>)</li>
69
-<li>Post search hook (<code class="docutils literal"><span class="pre">post_search</span></code>)</li>
70
-<li>Result hook (<code class="docutils literal"><span class="pre">on_result</span></code>) (is called if a new result is added (see
71
-https_rewrite plugin))</li>
72
-</ul>
73
-<p>Feel free to add more hooks to the code if it is required by a plugin.</p>
65
+<div class="section" id="plugin-entry-points">
66
+<h2>Plugin entry points<a class="headerlink" href="#plugin-entry-points" title="Permalink to this headline">¶</a></h2>
67
+<p>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.</p>
68
+<div class="section" id="pre-search-hook">
69
+<h3>Pre search hook<a class="headerlink" href="#pre-search-hook" title="Permalink to this headline">¶</a></h3>
70
+<p>Runs BEFORE the search request. Function to implement: <code class="docutils literal"><span class="pre">pre_search</span></code></p>
71
+</div>
72
+<div class="section" id="post-search-hook">
73
+<h3>Post search hook<a class="headerlink" href="#post-search-hook" title="Permalink to this headline">¶</a></h3>
74
+<p>Runs AFTER the search request. Function to implement: <code class="docutils literal"><span class="pre">post_search</span></code></p>
75
+</div>
76
+<div class="section" id="result-hook">
77
+<h3>Result hook<a class="headerlink" href="#result-hook" title="Permalink to this headline">¶</a></h3>
78
+<p>Runs when a new result is added to the result list. Function to implement: <code class="docutils literal"><span class="pre">on_result</span></code></p>
74
 </div>
79
 </div>
75
-<div class="section" id="todo">
76
-<h2>TODO<a class="headerlink" href="#todo" title="Permalink to this headline">¶</a></h2>
77
-<ul class="simple">
78
-<li>Better documentation</li>
79
-<li>More hooks</li>
80
-<li>search hook (is called while searx is requesting results (for
81
-example: things like math-solver), the different hooks are running
82
-parallel)</li>
83
-</ul>
84
 </div>
80
 </div>
85
 </div>
81
 </div>
86
 
82
 
109
       <div class="clearer"></div>
105
       <div class="clearer"></div>
110
     </div>
106
     </div>
111
     <div class="footer">
107
     <div class="footer">
112
-      &copy; Copyright 2015, Adam Tauber.
108
+      &copy; Copyright 2015-2016, Adam Tauber.
113
     </div>
109
     </div>
114
   </body>
110
   </body>
115
 </html>
111
 </html>

+ 5
- 5
dev/quickstart.html View File

6
   <head>
6
   <head>
7
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8
     
8
     
9
-    <title>Development Quickstart &mdash; searx 0.8.0 documentation</title>
9
+    <title>Development Quickstart &mdash; searx 0.9.0 documentation</title>
10
     
10
     
11
     <link rel="stylesheet" href="../_static/style.css" type="text/css" />
11
     <link rel="stylesheet" href="../_static/style.css" type="text/css" />
12
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
12
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
14
     <script type="text/javascript">
14
     <script type="text/javascript">
15
       var DOCUMENTATION_OPTIONS = {
15
       var DOCUMENTATION_OPTIONS = {
16
         URL_ROOT:    '../',
16
         URL_ROOT:    '../',
17
-        VERSION:     '0.8.0',
17
+        VERSION:     '0.9.0',
18
         COLLAPSE_INDEX: false,
18
         COLLAPSE_INDEX: false,
19
         FILE_SUFFIX: '.html',
19
         FILE_SUFFIX: '.html',
20
         HAS_SOURCE:  true
20
         HAS_SOURCE:  true
23
     <script type="text/javascript" src="../_static/jquery.js"></script>
23
     <script type="text/javascript" src="../_static/jquery.js"></script>
24
     <script type="text/javascript" src="../_static/underscore.js"></script>
24
     <script type="text/javascript" src="../_static/underscore.js"></script>
25
     <script type="text/javascript" src="../_static/doctools.js"></script>
25
     <script type="text/javascript" src="../_static/doctools.js"></script>
26
-    <link rel="top" title="searx 0.8.0 documentation" href="../index.html" />
26
+    <link rel="top" title="searx 0.9.0 documentation" href="../index.html" />
27
     <link rel="next" title="How to contribute" href="contribution_guide.html" />
27
     <link rel="next" title="How to contribute" href="contribution_guide.html" />
28
-    <link rel="prev" title="Search syntax" href="../user/search_syntax.html" />
28
+    <link rel="prev" title="Administration API" href="../admin/api.html" />
29
    
29
    
30
   
30
   
31
   <link media="only screen and (max-device-width: 480px)" href="../_static/small_flask.css" type= "text/css" rel="stylesheet" />
31
   <link media="only screen and (max-device-width: 480px)" href="../_static/small_flask.css" type= "text/css" rel="stylesheet" />
154
       <div class="clearer"></div>
154
       <div class="clearer"></div>
155
     </div>
155
     </div>
156
     <div class="footer">
156
     <div class="footer">
157
-      &copy; Copyright 2015, Adam Tauber.
157
+      &copy; Copyright 2015-2016, Adam Tauber.
158
     </div>
158
     </div>
159
   </body>
159
   </body>
160
 </html>
160
 </html>

+ 17
- 10
dev/search_api.html View File

6
   <head>
6
   <head>
7
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8
     
8
     
9
-    <title>Search API &mdash; searx 0.8.0 documentation</title>
9
+    <title>Search API &mdash; searx 0.9.0 documentation</title>
10
     
10
     
11
     <link rel="stylesheet" href="../_static/style.css" type="text/css" />
11
     <link rel="stylesheet" href="../_static/style.css" type="text/css" />
12
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
12
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
14
     <script type="text/javascript">
14
     <script type="text/javascript">
15
       var DOCUMENTATION_OPTIONS = {
15
       var DOCUMENTATION_OPTIONS = {
16
         URL_ROOT:    '../',
16
         URL_ROOT:    '../',
17
-        VERSION:     '0.8.0',
17
+        VERSION:     '0.9.0',
18
         COLLAPSE_INDEX: false,
18
         COLLAPSE_INDEX: false,
19
         FILE_SUFFIX: '.html',
19
         FILE_SUFFIX: '.html',
20
         HAS_SOURCE:  true
20
         HAS_SOURCE:  true
23
     <script type="text/javascript" src="../_static/jquery.js"></script>
23
     <script type="text/javascript" src="../_static/jquery.js"></script>
24
     <script type="text/javascript" src="../_static/underscore.js"></script>
24
     <script type="text/javascript" src="../_static/underscore.js"></script>
25
     <script type="text/javascript" src="../_static/doctools.js"></script>
25
     <script type="text/javascript" src="../_static/doctools.js"></script>
26
-    <link rel="top" title="searx 0.8.0 documentation" href="../index.html" />
26
+    <link rel="top" title="searx 0.9.0 documentation" href="../index.html" />
27
     <link rel="next" title="Plugins" href="plugins.html" />
27
     <link rel="next" title="Plugins" href="plugins.html" />
28
     <link rel="prev" title="Engine overview" href="engine_overview.html" />
28
     <link rel="prev" title="Engine overview" href="engine_overview.html" />
29
    
29
    
41
             
41
             
42
   <div class="section" id="search-api">
42
   <div class="section" id="search-api">
43
 <h1>Search API<a class="headerlink" href="#search-api" title="Permalink to this headline">¶</a></h1>
43
 <h1>Search API<a class="headerlink" href="#search-api" title="Permalink to this headline">¶</a></h1>
44
-<div class="section" id="search-api-endpoints-search">
45
-<h2>Search API endpoints: <code class="docutils literal"><span class="pre">/</span></code>, <code class="docutils literal"><span class="pre">/search</span></code><a class="headerlink" href="#search-api-endpoints-search" title="Permalink to this headline">¶</a></h2>
46
-<p>Endpoints have equivalent functionality.</p>
44
+<p>The search supports both <code class="docutils literal"><span class="pre">GET</span></code> and <code class="docutils literal"><span class="pre">POST</span></code>. However, using <code class="docutils literal"><span class="pre">GET</span></code> the parameters of the request remain hidden. So it is advised to use <code class="docutils literal"><span class="pre">GET</span></code> for querying.</p>
45
+<p>Furthermore, two enpoints <code class="docutils literal"><span class="pre">/</span></code> and <code class="docutils literal"><span class="pre">/search</span></code> are available for querying.</p>
46
+<div class="code sh highlight-default"><div class="highlight"><pre><span class="n">GET</span> <span class="o">/</span>
47
+</pre></div>
48
+</div>
49
+<div class="code sh highlight-default"><div class="highlight"><pre><span class="n">GET</span> <span class="o">/</span><span class="n">search</span>
50
+</pre></div>
47
 </div>
51
 </div>
48
 <div class="section" id="parameters">
52
 <div class="section" id="parameters">
49
 <h2>Parameters<a class="headerlink" href="#parameters" title="Permalink to this headline">¶</a></h2>
53
 <h2>Parameters<a class="headerlink" href="#parameters" title="Permalink to this headline">¶</a></h2>
61
 </thead>
65
 </thead>
62
 <tbody valign="top">
66
 <tbody valign="top">
63
 <tr class="row-even"><td><code class="docutils literal"><span class="pre">q</span></code></td>
67
 <tr class="row-even"><td><code class="docutils literal"><span class="pre">q</span></code></td>
64
-<td>The search query, see <a class="reference internal" href="../user/search_syntax.html"><em>Search syntax</em></a></td>
68
+<td>The search query, see <a class="reference internal" href="../user/search_syntax.html"><span class="doc">Search syntax</span></a></td>
65
 <td>required</td>
69
 <td>required</td>
66
 </tr>
70
 </tr>
67
 <tr class="row-odd"><td><code class="docutils literal"><span class="pre">categories</span></code></td>
71
 <tr class="row-odd"><td><code class="docutils literal"><span class="pre">categories</span></code></td>
72
 <td>Comma separated list, specifies the active search engines</td>
76
 <td>Comma separated list, specifies the active search engines</td>
73
 <td>optional</td>
77
 <td>optional</td>
74
 </tr>
78
 </tr>
75
-<tr class="row-odd"><td><code class="docutils literal"><span class="pre">pageno</span></code></td>
79
+<tr class="row-odd"><td><code class="docutils literal"><span class="pre">lang</span></code></td>
80
+<td>Code of the language</td>
81
+<td>optional (default: <code class="docutils literal"><span class="pre">all</span></code>)</td>
82
+</tr>
83
+<tr class="row-even"><td><code class="docutils literal"><span class="pre">pageno</span></code></td>
76
 <td>Search page number</td>
84
 <td>Search page number</td>
77
 <td>optional (default: <code class="docutils literal"><span class="pre">1</span></code>)</td>
85
 <td>optional (default: <code class="docutils literal"><span class="pre">1</span></code>)</td>
78
 </tr>
86
 </tr>
79
 </tbody>
87
 </tbody>
80
 </table>
88
 </table>
81
-<p>Both <code class="docutils literal"><span class="pre">GET</span></code> and <code class="docutils literal"><span class="pre">POST</span></code> methods are supported.</p>
82
 </div>
89
 </div>
83
 </div>
90
 </div>
84
 
91
 
107
       <div class="clearer"></div>
114
       <div class="clearer"></div>
108
     </div>
115
     </div>
109
     <div class="footer">
116
     <div class="footer">
110
-      &copy; Copyright 2015, Adam Tauber.
117
+      &copy; Copyright 2015-2016, Adam Tauber.
111
     </div>
118
     </div>
112
   </body>
119
   </body>
113
 </html>
120
 </html>

+ 14
- 14
dev/translation.html View File

6
   <head>
6
   <head>
7
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8
     
8
     
9
-    <title>Translation &mdash; searx 0.8.0 documentation</title>
9
+    <title>Translation &mdash; searx 0.9.0 documentation</title>
10
     
10
     
11
     <link rel="stylesheet" href="../_static/style.css" type="text/css" />
11
     <link rel="stylesheet" href="../_static/style.css" type="text/css" />
12
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
12
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
14
     <script type="text/javascript">
14
     <script type="text/javascript">
15
       var DOCUMENTATION_OPTIONS = {
15
       var DOCUMENTATION_OPTIONS = {
16
         URL_ROOT:    '../',
16
         URL_ROOT:    '../',
17
-        VERSION:     '0.8.0',
17
+        VERSION:     '0.9.0',
18
         COLLAPSE_INDEX: false,
18
         COLLAPSE_INDEX: false,
19
         FILE_SUFFIX: '.html',
19
         FILE_SUFFIX: '.html',
20
         HAS_SOURCE:  true
20
         HAS_SOURCE:  true
23
     <script type="text/javascript" src="../_static/jquery.js"></script>
23
     <script type="text/javascript" src="../_static/jquery.js"></script>
24
     <script type="text/javascript" src="../_static/underscore.js"></script>
24
     <script type="text/javascript" src="../_static/underscore.js"></script>
25
     <script type="text/javascript" src="../_static/doctools.js"></script>
25
     <script type="text/javascript" src="../_static/doctools.js"></script>
26
-    <link rel="top" title="searx 0.8.0 documentation" href="../index.html" />
26
+    <link rel="top" title="searx 0.9.0 documentation" href="../index.html" />
27
     <link rel="prev" title="Plugins" href="plugins.html" />
27
     <link rel="prev" title="Plugins" href="plugins.html" />
28
    
28
    
29
   
29
   
43
 <p>run these commands in the root directory of searx</p>
43
 <p>run these commands in the root directory of searx</p>
44
 <div class="section" id="add-new-language">
44
 <div class="section" id="add-new-language">
45
 <h2>Add new language<a class="headerlink" href="#add-new-language" title="Permalink to this headline">¶</a></h2>
45
 <h2>Add new language<a class="headerlink" href="#add-new-language" title="Permalink to this headline">¶</a></h2>
46
-<div class="code shell highlight-python"><div class="highlight"><pre>pybabel init -i messages.pot -d searx/translations -l it
46
+<div class="code shell highlight-default"><div class="highlight"><pre><span class="n">pybabel</span> <span class="n">init</span> <span class="o">-</span><span class="n">i</span> <span class="n">messages</span><span class="o">.</span><span class="n">pot</span> <span class="o">-</span><span class="n">d</span> <span class="n">searx</span><span class="o">/</span><span class="n">translations</span> <span class="o">-</span><span class="n">l</span> <span class="n">it</span>
47
 </pre></div>
47
 </pre></div>
48
 </div>
48
 </div>
49
 </div>
49
 </div>
50
 <div class="section" id="update-po-files">
50
 <div class="section" id="update-po-files">
51
 <h2>Update .po files<a class="headerlink" href="#update-po-files" title="Permalink to this headline">¶</a></h2>
51
 <h2>Update .po files<a class="headerlink" href="#update-po-files" title="Permalink to this headline">¶</a></h2>
52
-<div class="code shell highlight-python"><div class="highlight"><pre>./utils/update-translations.sh
52
+<div class="code shell highlight-default"><div class="highlight"><pre><span class="o">./</span><span class="n">utils</span><span class="o">/</span><span class="n">update</span><span class="o">-</span><span class="n">translations</span><span class="o">.</span><span class="n">sh</span>
53
 </pre></div>
53
 </pre></div>
54
 </div>
54
 </div>
55
 <p>You may have errors here. In that case, edit the
55
 <p>You may have errors here. In that case, edit the
59
 </div>
59
 </div>
60
 <div class="section" id="compile-translations">
60
 <div class="section" id="compile-translations">
61
 <h2>Compile translations<a class="headerlink" href="#compile-translations" title="Permalink to this headline">¶</a></h2>
61
 <h2>Compile translations<a class="headerlink" href="#compile-translations" title="Permalink to this headline">¶</a></h2>
62
-<div class="code shell highlight-python"><div class="highlight"><pre>pybabel compile -d searx/translations
62
+<div class="code shell highlight-default"><div class="highlight"><pre><span class="n">pybabel</span> <span class="nb">compile</span> <span class="o">-</span><span class="n">d</span> <span class="n">searx</span><span class="o">/</span><span class="n">translations</span>
63
 </pre></div>
63
 </pre></div>
64
 </div>
64
 </div>
65
 </div>
65
 </div>
67
 <h2>Transifex stuff<a class="headerlink" href="#transifex-stuff" title="Permalink to this headline">¶</a></h2>
67
 <h2>Transifex stuff<a class="headerlink" href="#transifex-stuff" title="Permalink to this headline">¶</a></h2>
68
 <div class="section" id="init-project">
68
 <div class="section" id="init-project">
69
 <h3>Init Project<a class="headerlink" href="#init-project" title="Permalink to this headline">¶</a></h3>
69
 <h3>Init Project<a class="headerlink" href="#init-project" title="Permalink to this headline">¶</a></h3>
70
-<div class="code shell highlight-python"><div class="highlight"><pre>tx init # Transifex instance: https://www.transifex.com/asciimoo/searx/
70
+<div class="code shell highlight-default"><div class="highlight"><pre><span class="n">tx</span> <span class="n">init</span> <span class="c"># Transifex instance: https://www.transifex.com/asciimoo/searx/</span>
71
 
71
 
72
-tx set --auto-local -r searx.messagespo &#39;searx/translations/&lt;lang&gt;/LC_MESSAGES/messages.po&#39; \
73
---source-lang en --type PO --source-file messages.pot --execute
72
+<span class="n">tx</span> <span class="nb">set</span> <span class="o">--</span><span class="n">auto</span><span class="o">-</span><span class="n">local</span> <span class="o">-</span><span class="n">r</span> <span class="n">searx</span><span class="o">.</span><span class="n">messagespo</span> <span class="s">&#39;searx/translations/&lt;lang&gt;/LC_MESSAGES/messages.po&#39;</span> \
73
+<span class="o">--</span><span class="n">source</span><span class="o">-</span><span class="n">lang</span> <span class="n">en</span> <span class="o">--</span><span class="nb">type</span> <span class="n">PO</span> <span class="o">--</span><span class="n">source</span><span class="o">-</span><span class="n">file</span> <span class="n">messages</span><span class="o">.</span><span class="n">pot</span> <span class="o">--</span><span class="n">execute</span>
74
 </pre></div>
74
 </pre></div>
75
 </div>
75
 </div>
76
 <p><a class="reference external" href="http://docs.transifex.com/client/init/">http://docs.transifex.com/client/init/</a></p>
76
 <p><a class="reference external" href="http://docs.transifex.com/client/init/">http://docs.transifex.com/client/init/</a></p>
78
 </div>
78
 </div>
79
 <div class="section" id="get-translations">
79
 <div class="section" id="get-translations">
80
 <h3>Get translations<a class="headerlink" href="#get-translations" title="Permalink to this headline">¶</a></h3>
80
 <h3>Get translations<a class="headerlink" href="#get-translations" title="Permalink to this headline">¶</a></h3>
81
-<div class="code shell highlight-python"><div class="highlight"><pre>tx pull -a
81
+<div class="code shell highlight-default"><div class="highlight"><pre><span class="n">tx</span> <span class="n">pull</span> <span class="o">-</span><span class="n">a</span>
82
 </pre></div>
82
 </pre></div>
83
 </div>
83
 </div>
84
 <p><a class="reference external" href="http://docs.transifex.com/client/pull">http://docs.transifex.com/client/pull</a></p>
84
 <p><a class="reference external" href="http://docs.transifex.com/client/pull">http://docs.transifex.com/client/pull</a></p>
85
 </div>
85
 </div>
86
 <div class="section" id="upload-source-file">
86
 <div class="section" id="upload-source-file">
87
 <h3>Upload source File<a class="headerlink" href="#upload-source-file" title="Permalink to this headline">¶</a></h3>
87
 <h3>Upload source File<a class="headerlink" href="#upload-source-file" title="Permalink to this headline">¶</a></h3>
88
-<div class="code shell highlight-python"><div class="highlight"><pre>tx push -s
88
+<div class="code shell highlight-default"><div class="highlight"><pre><span class="n">tx</span> <span class="n">push</span> <span class="o">-</span><span class="n">s</span>
89
 </pre></div>
89
 </pre></div>
90
 </div>
90
 </div>
91
 </div>
91
 </div>
92
 <div class="section" id="upload-all-translation">
92
 <div class="section" id="upload-all-translation">
93
 <h3>Upload all Translation<a class="headerlink" href="#upload-all-translation" title="Permalink to this headline">¶</a></h3>
93
 <h3>Upload all Translation<a class="headerlink" href="#upload-all-translation" title="Permalink to this headline">¶</a></h3>
94
-<div class="code shell highlight-python"><div class="highlight"><pre>tx push -s -t
94
+<div class="code shell highlight-default"><div class="highlight"><pre><span class="n">tx</span> <span class="n">push</span> <span class="o">-</span><span class="n">s</span> <span class="o">-</span><span class="n">t</span>
95
 </pre></div>
95
 </pre></div>
96
 </div>
96
 </div>
97
 </div>
97
 </div>
98
 </div>
98
 </div>
99
 <div class="section" id="upload-specifc-translation">
99
 <div class="section" id="upload-specifc-translation">
100
 <h2>upload specifc Translation<a class="headerlink" href="#upload-specifc-translation" title="Permalink to this headline">¶</a></h2>
100
 <h2>upload specifc Translation<a class="headerlink" href="#upload-specifc-translation" title="Permalink to this headline">¶</a></h2>
101
-<div class="code shell highlight-python"><div class="highlight"><pre>tx push -t -l tr
101
+<div class="code shell highlight-default"><div class="highlight"><pre><span class="n">tx</span> <span class="n">push</span> <span class="o">-</span><span class="n">t</span> <span class="o">-</span><span class="n">l</span> <span class="n">tr</span>
102
 </pre></div>
102
 </pre></div>
103
 </div>
103
 </div>
104
 <p><a class="reference external" href="http://docs.transifex.com/client/push">http://docs.transifex.com/client/push</a></p>
104
 <p><a class="reference external" href="http://docs.transifex.com/client/push">http://docs.transifex.com/client/push</a></p>
130
       <div class="clearer"></div>
130
       <div class="clearer"></div>
131
     </div>
131
     </div>
132
     <div class="footer">
132
     <div class="footer">
133
-      &copy; Copyright 2015, Adam Tauber.
133
+      &copy; Copyright 2015-2016, Adam Tauber.
134
     </div>
134
     </div>
135
   </body>
135
   </body>
136
 </html>
136
 </html>

+ 2
- 0
docs/_themes/searx_theme/static/style.css_t View File

38
 
38
 
39
 div.sphinxsidebar {
39
 div.sphinxsidebar {
40
     width: {{ sidebar_width }};
40
     width: {{ sidebar_width }};
41
+    word-wrap: normal !important;
42
+    overflow-wrap: normal !important;
41
 }
43
 }
42
 
44
 
43
 hr {
45
 hr {

+ 78
- 0
docs/admin/api.rst View File

1
+.. _adminapi:
2
+
3
+Administration API
4
+------------------
5
+
6
+Get configuration data
7
+~~~~~~~~~~~~~~~~~~~~~~
8
+
9
+.. code:: sh
10
+
11
+    GET /config
12
+
13
+Sample response
14
+```````````````
15
+
16
+.. code:: sh
17
+    
18
+    {
19
+      "autocomplete": "", 
20
+      "categories": [
21
+        "map", 
22
+        "it", 
23
+        "images", 
24
+      ], 
25
+      "default_locale": "", 
26
+      "default_theme": "oscar", 
27
+      "engines": [
28
+        {
29
+          "categories": [
30
+            "map"
31
+          ], 
32
+          "enabled": true, 
33
+          "name": "openstreetmap", 
34
+          "shortcut": "osm"
35
+        }, 
36
+        {
37
+          "categories": [
38
+            "it"
39
+          ], 
40
+          "enabled": true, 
41
+          "name": "arch linux wiki", 
42
+          "shortcut": "al"
43
+        }, 
44
+        {
45
+          "categories": [
46
+            "images"
47
+          ], 
48
+          "enabled": true, 
49
+          "name": "google images", 
50
+          "shortcut": "goi"
51
+        }, 
52
+        {
53
+          "categories": [
54
+            "it"
55
+          ], 
56
+          "enabled": false, 
57
+          "name": "bitbucket", 
58
+          "shortcut": "bb"
59
+        }, 
60
+      ], 
61
+      "instance_name": "searx", 
62
+      "locales": {
63
+        "de": "Deutsch (German)", 
64
+        "en": "English", 
65
+        "eo": "Esperanto (Esperanto)", 
66
+      }, 
67
+      "plugins": [
68
+        {
69
+          "enabled": true, 
70
+          "name": "HTTPS rewrite"
71
+        }, 
72
+        {
73
+          "enabled": false, 
74
+          "name": "Vim-like hotkeys"
75
+        }
76
+      ], 
77
+      "safe_search": 0
78
+    }

+ 3
- 3
docs/conf.py View File

49
 
49
 
50
 # General information about the project.
50
 # General information about the project.
51
 project = u'searx'
51
 project = u'searx'
52
-copyright = u'2015, Adam Tauber'
52
+copyright = u'2015-2016, Adam Tauber'
53
 author = u'Adam Tauber'
53
 author = u'Adam Tauber'
54
 
54
 
55
 # The version info for the project you're documenting, acts as replacement for
55
 # The version info for the project you're documenting, acts as replacement for
57
 # built documents.
57
 # built documents.
58
 #
58
 #
59
 # The short X.Y version.
59
 # The short X.Y version.
60
-version = '0.8.0'
60
+version = '0.9.0'
61
 # The full version, including alpha/beta/rc tags.
61
 # The full version, including alpha/beta/rc tags.
62
-release = '0.8.0'
62
+release = '0.9.0'
63
 
63
 
64
 # The language for content autogenerated by Sphinx. Refer to documentation
64
 # The language for content autogenerated by Sphinx. Refer to documentation
65
 # for a list of supported languages.
65
 # for a list of supported languages.

+ 17
- 17
docs/dev/plugins.rst View File

1
 Plugins
1
 Plugins
2
 -------
2
 -------
3
 
3
 
4
-Plugins can extend/replace functionality of various components inside
4
+Plugins can extend or replace functionality of various components of
5
 searx.
5
 searx.
6
 
6
 
7
-example\_plugin.py
8
-~~~~~~~~~~~~~~~~~~
7
+Example plugin
8
+~~~~~~~~~~~~~~
9
 
9
 
10
 .. code:: python
10
 .. code:: python
11
 
11
 
24
         ctx['search'].suggestions.add('example')
24
         ctx['search'].suggestions.add('example')
25
         return True
25
         return True
26
 
26
 
27
-Currently implemented plugin entry points (a.k.a hooks)
28
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
27
+Plugin entry points
28
+~~~~~~~~~~~~~~~~~~~
29
 
29
 
30
--  Pre search hook (``pre_search``)
31
--  Post search hook (``post_search``)
32
--  Result hook (``on_result``) (is called if a new result is added (see
33
-   https\_rewrite plugin))
30
+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.
34
 
31
 
35
-Feel free to add more hooks to the code if it is required by a plugin.
32
+Pre search hook
33
+```````````````
36
 
34
 
37
-TODO
38
-~~~~
35
+Runs BEFORE the search request. Function to implement: ``pre_search``
39
 
36
 
40
--  Better documentation
41
--  More hooks
42
--  search hook (is called while searx is requesting results (for
43
-   example: things like math-solver), the different hooks are running
44
-   parallel)
37
+Post search hook
38
+````````````````
45
 
39
 
40
+Runs AFTER the search request. Function to implement: ``post_search``
41
+
42
+Result hook
43
+```````````
44
+
45
+Runs when a new result is added to the result list. Function to implement: ``on_result``

+ 13
- 6
docs/dev/search_api.rst View File

1
 Search API
1
 Search API
2
 ==========
2
 ==========
3
 
3
 
4
-Search API endpoints: ``/``, ``/search``
5
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4
+The search supports both ``GET`` and ``POST``. However, using ``GET`` the parameters of the request remain hidden. So it is advised to use ``GET`` for querying.
6
 
5
 
7
-Endpoints have equivalent functionality.
6
+Furthermore, two enpoints ``/`` and ``/search`` are available for querying.
7
+
8
+.. code:: sh
9
+
10
+    GET /
11
+
12
+.. code:: sh
13
+
14
+    GET /search
8
 
15
 
9
 Parameters
16
 Parameters
10
-^^^^^^^^^^
17
+``````````
11
 
18
 
12
 +------------------+----------------------------------------------------------------------------------------------------+-----------------------------+
19
 +------------------+----------------------------------------------------------------------------------------------------+-----------------------------+
13
 | Name             | Description                                                                                        |                             |
20
 | Name             | Description                                                                                        |                             |
18
 +------------------+----------------------------------------------------------------------------------------------------+-----------------------------+
25
 +------------------+----------------------------------------------------------------------------------------------------+-----------------------------+
19
 | ``engines``      | Comma separated list, specifies the active search engines                                          | optional                    |
26
 | ``engines``      | Comma separated list, specifies the active search engines                                          | optional                    |
20
 +------------------+----------------------------------------------------------------------------------------------------+-----------------------------+
27
 +------------------+----------------------------------------------------------------------------------------------------+-----------------------------+
28
+| ``lang``         | Code of the language                                                                               | optional (default: ``all``) |
29
++------------------+----------------------------------------------------------------------------------------------------+-----------------------------+
21
 | ``pageno``       | Search page number                                                                                 | optional (default: ``1``)   |
30
 | ``pageno``       | Search page number                                                                                 | optional (default: ``1``)   |
22
 +------------------+----------------------------------------------------------------------------------------------------+-----------------------------+
31
 +------------------+----------------------------------------------------------------------------------------------------+-----------------------------+
23
-
24
-Both ``GET`` and ``POST`` methods are supported.

+ 15
- 6
docs/index.rst View File

1
-Privacy-respecting free metasearch engine
2
-=========================================
1
+Welcome to searx
2
+================
3
 
3
 
4
-Searx is a free software internet metasearch engine which aggregates results from other search engines, while not storing information about its users. Searx does not track or profile its users, nor does it share its users' data with third parties. Additionally, searx can be used over Tor for online anonymity.
4
+Searx is a free software internet metasearch engine which aggregates results from more than 70 engines, while not storing information about its users. Searx does not track or profile its users, nor does it share its users' data with third parties. Additionally, searx can be used over Tor for online anonymity.
5
 
5
 
6
 
6
 
7
 Features
7
 Features
15
  - Does not collect its users data
15
  - Does not collect its users data
16
  - Offers secure, encrypted connections (HTTPS/SSL)
16
  - Offers secure, encrypted connections (HTTPS/SSL)
17
  - Hosted by organisations, such as La Quadrature du Net, which promote digital rights
17
  - Hosted by organisations, such as La Quadrature du Net, which promote digital rights
18
+ - About 70 supported search engines
19
+ - Easy intergration with any search engine
18
 
20
 
19
 
21
 
20
-Further reading
21
----------------
22
+User documentation
23
+------------------
22
 
24
 
23
 .. toctree::
25
 .. toctree::
24
    :maxdepth: 1
26
    :maxdepth: 1
25
 
27
 
26
    user/search_syntax
28
    user/search_syntax
27
 
29
 
30
+Administrator documentation
31
+---------------------------
32
+
33
+.. toctree::
34
+   :maxdepth: 1
35
+
36
+   dev/install/installation
37
+   admin/api
28
 
38
 
29
 Developer documentation
39
 Developer documentation
30
 -----------------------
40
 -----------------------
34
 
44
 
35
    dev/quickstart
45
    dev/quickstart
36
    dev/contribution_guide
46
    dev/contribution_guide
37
-   dev/install/installation
38
    dev/engine_overview
47
    dev/engine_overview
39
    dev/search_api
48
    dev/search_api
40
    dev/plugins
49
    dev/plugins

+ 4
- 4
genindex.html View File

7
   <head>
7
   <head>
8
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
9
     
9
     
10
-    <title>Index &mdash; searx 0.8.0 documentation</title>
10
+    <title>Index &mdash; searx 0.9.0 documentation</title>
11
     
11
     
12
     <link rel="stylesheet" href="_static/style.css" type="text/css" />
12
     <link rel="stylesheet" href="_static/style.css" type="text/css" />
13
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
13
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
15
     <script type="text/javascript">
15
     <script type="text/javascript">
16
       var DOCUMENTATION_OPTIONS = {
16
       var DOCUMENTATION_OPTIONS = {
17
         URL_ROOT:    './',
17
         URL_ROOT:    './',
18
-        VERSION:     '0.8.0',
18
+        VERSION:     '0.9.0',
19
         COLLAPSE_INDEX: false,
19
         COLLAPSE_INDEX: false,
20
         FILE_SUFFIX: '.html',
20
         FILE_SUFFIX: '.html',
21
         HAS_SOURCE:  true
21
         HAS_SOURCE:  true
24
     <script type="text/javascript" src="_static/jquery.js"></script>
24
     <script type="text/javascript" src="_static/jquery.js"></script>
25
     <script type="text/javascript" src="_static/underscore.js"></script>
25
     <script type="text/javascript" src="_static/underscore.js"></script>
26
     <script type="text/javascript" src="_static/doctools.js"></script>
26
     <script type="text/javascript" src="_static/doctools.js"></script>
27
-    <link rel="top" title="searx 0.8.0 documentation" href="index.html" />
27
+    <link rel="top" title="searx 0.9.0 documentation" href="index.html" />
28
    
28
    
29
   
29
   
30
   <link media="only screen and (max-device-width: 480px)" href="_static/small_flask.css" type= "text/css" rel="stylesheet" />
30
   <link media="only screen and (max-device-width: 480px)" href="_static/small_flask.css" type= "text/css" rel="stylesheet" />
73
       <div class="clearer"></div>
73
       <div class="clearer"></div>
74
     </div>
74
     </div>
75
     <div class="footer">
75
     <div class="footer">
76
-      &copy; Copyright 2015, Adam Tauber.
76
+      &copy; Copyright 2015-2016, Adam Tauber.
77
     </div>
77
     </div>
78
   </body>
78
   </body>
79
 </html>
79
 </html>

+ 20
- 10
index.html View File

6
   <head>
6
   <head>
7
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8
     
8
     
9
-    <title>Privacy-respecting free metasearch engine &mdash; searx 0.8.0 documentation</title>
9
+    <title>Welcome to searx &mdash; searx 0.9.0 documentation</title>
10
     
10
     
11
     <link rel="stylesheet" href="_static/style.css" type="text/css" />
11
     <link rel="stylesheet" href="_static/style.css" type="text/css" />
12
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
12
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
14
     <script type="text/javascript">
14
     <script type="text/javascript">
15
       var DOCUMENTATION_OPTIONS = {
15
       var DOCUMENTATION_OPTIONS = {
16
         URL_ROOT:    './',
16
         URL_ROOT:    './',
17
-        VERSION:     '0.8.0',
17
+        VERSION:     '0.9.0',
18
         COLLAPSE_INDEX: false,
18
         COLLAPSE_INDEX: false,
19
         FILE_SUFFIX: '.html',
19
         FILE_SUFFIX: '.html',
20
         HAS_SOURCE:  true
20
         HAS_SOURCE:  true
23
     <script type="text/javascript" src="_static/jquery.js"></script>
23
     <script type="text/javascript" src="_static/jquery.js"></script>
24
     <script type="text/javascript" src="_static/underscore.js"></script>
24
     <script type="text/javascript" src="_static/underscore.js"></script>
25
     <script type="text/javascript" src="_static/doctools.js"></script>
25
     <script type="text/javascript" src="_static/doctools.js"></script>
26
-    <link rel="top" title="searx 0.8.0 documentation" href="#" />
26
+    <link rel="top" title="searx 0.9.0 documentation" href="#" />
27
     <link rel="next" title="Search syntax" href="user/search_syntax.html" />
27
     <link rel="next" title="Search syntax" href="user/search_syntax.html" />
28
    
28
    
29
   
29
   
38
         <div class="bodywrapper">
38
         <div class="bodywrapper">
39
           <div class="body" role="main">
39
           <div class="body" role="main">
40
             
40
             
41
-  <div class="section" id="privacy-respecting-free-metasearch-engine">
42
-<h1>Privacy-respecting free metasearch engine<a class="headerlink" href="#privacy-respecting-free-metasearch-engine" title="Permalink to this headline">¶</a></h1>
43
-<p>Searx is a free software internet metasearch engine which aggregates results from other search engines, while not storing information about its users. Searx does not track or profile its users, nor does it share its users&#8217; data with third parties. Additionally, searx can be used over Tor for online anonymity.</p>
41
+  <div class="section" id="welcome-to-searx">
42
+<h1>Welcome to searx<a class="headerlink" href="#welcome-to-searx" title="Permalink to this headline">¶</a></h1>
43
+<p>Searx is a free software internet metasearch engine which aggregates results from more than 70 engines, while not storing information about its users. Searx does not track or profile its users, nor does it share its users&#8217; data with third parties. Additionally, searx can be used over Tor for online anonymity.</p>
44
 <div class="section" id="features">
44
 <div class="section" id="features">
45
 <h2>Features<a class="headerlink" href="#features" title="Permalink to this headline">¶</a></h2>
45
 <h2>Features<a class="headerlink" href="#features" title="Permalink to this headline">¶</a></h2>
46
 <blockquote>
46
 <blockquote>
53
 <li>Does not collect its users data</li>
53
 <li>Does not collect its users data</li>
54
 <li>Offers secure, encrypted connections (HTTPS/SSL)</li>
54
 <li>Offers secure, encrypted connections (HTTPS/SSL)</li>
55
 <li>Hosted by organisations, such as La Quadrature du Net, which promote digital rights</li>
55
 <li>Hosted by organisations, such as La Quadrature du Net, which promote digital rights</li>
56
+<li>About 70 supported search engines</li>
57
+<li>Easy intergration with any search engine</li>
56
 </ul>
58
 </ul>
57
 </div></blockquote>
59
 </div></blockquote>
58
 </div>
60
 </div>
59
-<div class="section" id="further-reading">
60
-<h2>Further reading<a class="headerlink" href="#further-reading" title="Permalink to this headline">¶</a></h2>
61
+<div class="section" id="user-documentation">
62
+<h2>User documentation<a class="headerlink" href="#user-documentation" title="Permalink to this headline">¶</a></h2>
61
 <div class="toctree-wrapper compound">
63
 <div class="toctree-wrapper compound">
62
 <ul>
64
 <ul>
63
 <li class="toctree-l1"><a class="reference internal" href="user/search_syntax.html">Search syntax</a></li>
65
 <li class="toctree-l1"><a class="reference internal" href="user/search_syntax.html">Search syntax</a></li>
64
 </ul>
66
 </ul>
65
 </div>
67
 </div>
66
 </div>
68
 </div>
69
+<div class="section" id="administrator-documentation">
70
+<h2>Administrator documentation<a class="headerlink" href="#administrator-documentation" title="Permalink to this headline">¶</a></h2>
71
+<div class="toctree-wrapper compound">
72
+<ul>
73
+<li class="toctree-l1"><a class="reference internal" href="dev/install/installation.html">Installation</a></li>
74
+<li class="toctree-l1"><a class="reference internal" href="admin/api.html">Administration API</a></li>
75
+</ul>
76
+</div>
77
+</div>
67
 <div class="section" id="developer-documentation">
78
 <div class="section" id="developer-documentation">
68
 <h2>Developer documentation<a class="headerlink" href="#developer-documentation" title="Permalink to this headline">¶</a></h2>
79
 <h2>Developer documentation<a class="headerlink" href="#developer-documentation" title="Permalink to this headline">¶</a></h2>
69
 <div class="toctree-wrapper compound">
80
 <div class="toctree-wrapper compound">
70
 <ul>
81
 <ul>
71
 <li class="toctree-l1"><a class="reference internal" href="dev/quickstart.html">Development Quickstart</a></li>
82
 <li class="toctree-l1"><a class="reference internal" href="dev/quickstart.html">Development Quickstart</a></li>
72
 <li class="toctree-l1"><a class="reference internal" href="dev/contribution_guide.html">How to contribute</a></li>
83
 <li class="toctree-l1"><a class="reference internal" href="dev/contribution_guide.html">How to contribute</a></li>
73
-<li class="toctree-l1"><a class="reference internal" href="dev/install/installation.html">Installation</a></li>
74
 <li class="toctree-l1"><a class="reference internal" href="dev/engine_overview.html">Engine overview</a></li>
84
 <li class="toctree-l1"><a class="reference internal" href="dev/engine_overview.html">Engine overview</a></li>
75
 <li class="toctree-l1"><a class="reference internal" href="dev/search_api.html">Search API</a></li>
85
 <li class="toctree-l1"><a class="reference internal" href="dev/search_api.html">Search API</a></li>
76
 <li class="toctree-l1"><a class="reference internal" href="dev/plugins.html">Plugins</a></li>
86
 <li class="toctree-l1"><a class="reference internal" href="dev/plugins.html">Plugins</a></li>
105
       <div class="clearer"></div>
115
       <div class="clearer"></div>
106
     </div>
116
     </div>
107
     <div class="footer">
117
     <div class="footer">
108
-      &copy; Copyright 2015, Adam Tauber.
118
+      &copy; Copyright 2015-2016, Adam Tauber.
109
     </div>
119
     </div>
110
   </body>
120
   </body>
111
 </html>
121
 </html>

BIN
objects.inv View File


+ 4
- 4
search.html View File

6
   <head>
6
   <head>
7
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8
     
8
     
9
-    <title>Search &mdash; searx 0.8.0 documentation</title>
9
+    <title>Search &mdash; searx 0.9.0 documentation</title>
10
     
10
     
11
     <link rel="stylesheet" href="_static/style.css" type="text/css" />
11
     <link rel="stylesheet" href="_static/style.css" type="text/css" />
12
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
12
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
14
     <script type="text/javascript">
14
     <script type="text/javascript">
15
       var DOCUMENTATION_OPTIONS = {
15
       var DOCUMENTATION_OPTIONS = {
16
         URL_ROOT:    './',
16
         URL_ROOT:    './',
17
-        VERSION:     '0.8.0',
17
+        VERSION:     '0.9.0',
18
         COLLAPSE_INDEX: false,
18
         COLLAPSE_INDEX: false,
19
         FILE_SUFFIX: '.html',
19
         FILE_SUFFIX: '.html',
20
         HAS_SOURCE:  true
20
         HAS_SOURCE:  true
24
     <script type="text/javascript" src="_static/underscore.js"></script>
24
     <script type="text/javascript" src="_static/underscore.js"></script>
25
     <script type="text/javascript" src="_static/doctools.js"></script>
25
     <script type="text/javascript" src="_static/doctools.js"></script>
26
     <script type="text/javascript" src="_static/searchtools.js"></script>
26
     <script type="text/javascript" src="_static/searchtools.js"></script>
27
-    <link rel="top" title="searx 0.8.0 documentation" href="index.html" />
27
+    <link rel="top" title="searx 0.9.0 documentation" href="index.html" />
28
   <script type="text/javascript">
28
   <script type="text/javascript">
29
     jQuery(function() { Search.loadIndex("searchindex.js"); });
29
     jQuery(function() { Search.loadIndex("searchindex.js"); });
30
   </script>
30
   </script>
93
       <div class="clearer"></div>
93
       <div class="clearer"></div>
94
     </div>
94
     </div>
95
     <div class="footer">
95
     <div class="footer">
96
-      &copy; Copyright 2015, Adam Tauber.
96
+      &copy; Copyright 2015-2016, Adam Tauber.
97
     </div>
97
     </div>
98
   </body>
98
   </body>
99
 </html>
99
 </html>

+ 1
- 1
searchindex.js
File diff suppressed because it is too large
View File


+ 5
- 5
user/search_syntax.html View File

6
   <head>
6
   <head>
7
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8
     
8
     
9
-    <title>Search syntax &mdash; searx 0.8.0 documentation</title>
9
+    <title>Search syntax &mdash; searx 0.9.0 documentation</title>
10
     
10
     
11
     <link rel="stylesheet" href="../_static/style.css" type="text/css" />
11
     <link rel="stylesheet" href="../_static/style.css" type="text/css" />
12
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
12
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
14
     <script type="text/javascript">
14
     <script type="text/javascript">
15
       var DOCUMENTATION_OPTIONS = {
15
       var DOCUMENTATION_OPTIONS = {
16
         URL_ROOT:    '../',
16
         URL_ROOT:    '../',
17
-        VERSION:     '0.8.0',
17
+        VERSION:     '0.9.0',
18
         COLLAPSE_INDEX: false,
18
         COLLAPSE_INDEX: false,
19
         FILE_SUFFIX: '.html',
19
         FILE_SUFFIX: '.html',
20
         HAS_SOURCE:  true
20
         HAS_SOURCE:  true
23
     <script type="text/javascript" src="../_static/jquery.js"></script>
23
     <script type="text/javascript" src="../_static/jquery.js"></script>
24
     <script type="text/javascript" src="../_static/underscore.js"></script>
24
     <script type="text/javascript" src="../_static/underscore.js"></script>
25
     <script type="text/javascript" src="../_static/doctools.js"></script>
25
     <script type="text/javascript" src="../_static/doctools.js"></script>
26
-    <link rel="top" title="searx 0.8.0 documentation" href="../index.html" />
27
-    <link rel="next" title="How to contribute" href="../dev/contribution_guide.html" />
26
+    <link rel="top" title="searx 0.9.0 documentation" href="../index.html" />
27
+    <link rel="next" title="Installation" href="../dev/install/installation.html" />
28
     <link rel="prev" title="Privacy-respecting free metasearch engine" href="../index.html" />
28
     <link rel="prev" title="Privacy-respecting free metasearch engine" href="../index.html" />
29
    
29
    
30
   
30
   
90
       <div class="clearer"></div>
90
       <div class="clearer"></div>
91
     </div>
91
     </div>
92
     <div class="footer">
92
     <div class="footer">
93
-      &copy; Copyright 2015, Adam Tauber.
93
+      &copy; Copyright 2015-2016, Adam Tauber.
94
     </div>
94
     </div>
95
   </body>
95
   </body>
96
 </html>
96
 </html>