<h2><aclass="toc-backref"href="#id3">Prime directives: Privacy, Hackability</a><aclass="headerlink"href="#prime-directives-privacy-hackability"title="Permalink to this headline">¶</a></h2>
<p>Searx was born out of the need for a <strong>privacy-respecting</strong> search tool which
can be extended easily to maximize both, its search and its privacy protecting
capabilities.</p>
<p>A few widely used features work differently or turned off by default or not
implemented at all <strong>as a consequence of privacy-by-design</strong>.</p>
<p>If a feature reduces the privacy preserving aspects of searx, it should be
switched off by default or should not implemented at all. There are plenty of
search engines already providing such features. If a feature reduces the
protection of searx, users must be informed about the effect of choosing to
enable it. Features that protect privacy but differ from the expectations of
the user should also be explained.</p>
<p>Also, if you think that something works weird with searx, it’s might be because
of the tool you use is designed in a way to interfere with the privacy respect.
Submitting a bugreport to the vendor of the tool that misbehaves might be a good
feedback to reconsider the disrespect to its customers (e.g. <codeclass="docutils literal notranslate"><spanclass="pre">GET</span></code> vs <codeclass="docutils literal notranslate"><spanclass="pre">POST</span></code>
requests in various browsers).</p>
<p>Remember the other prime directive of searx is to be hackable, so if the above
privacy concerns do not fancy you, simply fork it.</p>
<li><p><aclass="reference external"href="https://wiki.openstack.org/wiki/GitCommitMessages#Structural_split_of_changes">Structural split of changes</a></p></li>
<li><p><aclass="reference external"href="https://www.python.org/dev/peps/pep-0008/">PEP8</a> standards apply, except the convention of line length</p></li>
<li><p>Maximum line length is 120 characters</p></li>
<li><p>Add yourself to the <aclass="reference external"href="https://github.com/searx/searx/blob/master/AUTHORS.rst">git://AUTHORS.rst</a> file.</p></li>
<p>For more help on getting started with searx development, see <aclass="reference internal"href="quickstart.html#devquickstart"><spanclass="std std-ref">Development Quickstart</span></a>.</p>
<p>Translation currently takes place on <aclass="reference internal"href="translation.html#translation"><spanclass="std std-ref">transifex</span></a>.</p>
<divclass="admonition caution">
<pclass="admonition-title">Caution</p>
<p>Please, do not update translation files in the repo.</p>
<spanid="contrib-docs"></span><h2><aclass="toc-backref"href="#id7">Documentation</a><aclass="headerlink"href="#documentation"title="Permalink to this headline">¶</a></h2>
<p>has been moved from <codeclass="docutils literal notranslate"><spanclass="pre">gh-branch</span></code> into <codeclass="docutils literal notranslate"><spanclass="pre">master</span></code> (<aclass="reference external"href="https://github.com/searx/searx/blob/master/docs">git://docs</a>).</p>
<spanid="make-docs-live"></span><h3><aclass="toc-backref"href="#id8">live build</a><aclass="headerlink"href="#live-build"title="Permalink to this headline">¶</a></h3>
<p>Live builds are implemented by <aclass="reference external"href="https://github.com/executablebooks/sphinx-autobuild/blob/master/README.md">sphinx-autobuild</a>. Use environment
<codeclass="docutils literal notranslate"><spanclass="pre">$(SPHINXOPTS)</span></code> to pass arguments to the <aclass="reference external"href="https://github.com/executablebooks/sphinx-autobuild/blob/master/README.md">sphinx-autobuild</a> command. Except
option <codeclass="docutils literal notranslate"><spanclass="pre">--host</span></code> (which is always set to <codeclass="docutils literal notranslate"><spanclass="pre">0.0.0.0</span></code>) you can pass any
argument. E.g to find and use a free port, use:</p>
<divclass="highlight-sh notranslate"><divclass="highlight"><pre><span></span>$ <spanclass="nv">SPHINXOPTS</span><spanclass="o">=</span><spanclass="s2">"--port 0"</span> make docs-live
<spanid="id2"></span><h3><aclass="toc-backref"href="#id9">deploy on github.io</a><aclass="headerlink"href="#deploy-on-github-io"title="Permalink to this headline">¶</a></h3>
<aclass="reference internal"href="makefile.html#make-gh-pages"><spanclass="std std-ref">make gh-pages</span></a>, which will builds the documentation, clones searx into a sub
folder <codeclass="docutils literal notranslate"><spanclass="pre">gh-pages</span></code>, cleans it, copies the doc build into and runs all the
needed git add, commit and push:</p>
<divclass="highlight-sh notranslate"><divclass="highlight"><pre><span></span>$ make docs-clean gh-pages