<spanid="devquickstart"></span><h1>Development Quickstart<aclass="headerlink"href="#development-quickstart"title="Permalink to this headline">¶</a></h1>
<p>For additional developer purpose there are <aclass="reference internal"href="makefile.html#makefile"><spanclass="std std-ref">Makefile Targets</span></a>.</p>
</div>
<p>This quickstart guide gets your environment set up with searx. Furthermore, it
gives a short introduction to the <codeclass="docutils literal notranslate"><spanclass="pre">manage.sh</span></code> script.</p>
<h2>How to setup your development environment<aclass="headerlink"href="#how-to-setup-your-development-environment"title="Permalink to this headline">¶</a></h2>
<p>Alternatively use the <codeclass="docutils literal notranslate"><spanclass="pre">test.pep8</span></code>, <codeclass="docutils literal notranslate"><spanclass="pre">test.unit</span></code>, <codeclass="docutils literal notranslate"><spanclass="pre">test.robot</span></code> targets.</p>
</div>
<p>Tests can be run using the <codeclass="docutils literal notranslate"><spanclass="pre">manage.sh</span></code> script. Following tests and checks are
<p>For further test options, please consult the help of the <codeclass="docutils literal notranslate"><spanclass="pre">manage.sh</span></code> script or
<p><aclass="reference external"href="http://lesscss.org/">Less</a> is required to build the styles of searx. <aclass="reference external"href="http://lesscss.org/">Less</a> can be installed using
either <aclass="reference external"href="https://nodejs.org">NodeJS</a> or Apt.</p>
<h2>How to build the source of the oscar theme<aclass="headerlink"href="#how-to-build-the-source-of-the-oscar-theme"title="Permalink to this headline">¶</a></h2>
<p><aclass="reference external"href="https://gruntjs.com/">Grunt</a> must be installed in order to build the javascript sources. It depends on
<p>Makefile target <codeclass="docutils literal notranslate"><spanclass="pre">run</span></code> already enables debug option for your developer
session / see <aclass="reference internal"href="makefile.html#make-run"><spanclass="std std-ref">make run</span></a>.</p>
</div>
<dlclass="simple">
<dt>Turn on debug logging</dt><dd><p>Whether you are working on a new engine or trying to eliminate a bug, it is
always a good idea to turn on debug logging. When debug logging is enabled a
stack trace appears, instead of the cryptic <codeclass="docutils literal notranslate"><spanclass="pre">Internal</span><spanclass="pre">Server</span><spanclass="pre">Error</span></code>
message. It can be turned on by setting <codeclass="docutils literal notranslate"><spanclass="pre">debug:</span><spanclass="pre">False</span></code> to <codeclass="docutils literal notranslate"><spanclass="pre">debug:</span><spanclass="pre">True</span></code> in
<p>Alternatively use the <aclass="reference internal"href="makefile.html#make-test"><spanclass="std std-ref">make test</span></a> targets.</p>
</div>
<dlclass="simple">
<dt>Run <codeclass="docutils literal notranslate"><spanclass="pre">./manage.sh</span><spanclass="pre">tests</span></code> before creating a PR.</dt><dd><p>Failing build on Travis is common because of PEP8 checks. So a new commit
must be created containing these format fixes. This phase can be skipped if
<codeclass="docutils literal notranslate"><spanclass="pre">./manage.sh</span><spanclass="pre">tests</span></code> is run locally before creating a PR.</p>