searxng/docs/dev/quickstart.rst
Markus Heiser dc1442a2d1 [mod] Tools to install and maintain NVM versions manager for Node.js
[1] https://github.com/nvm-sh/nvm

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-11-16 23:31:11 +01:00

1.7 KiB

Development Quickstart

SearXNG loves developers, just clone and start hacking. All the rest is done for you simply by using make <makefile>.

git clone https://github.com/searxng/searxng.git searx

Here is how a minimal workflow looks like:

  1. start hacking
  2. run your code: make run
  3. test your code: make test

If you think at some point something fails, go back to start. Otherwise, choose a meaningful commit message and we are happy to receive your pull request. To not end in wild west we have some directives, please pay attention to our "how to contribute" guideline.

If you implement themes, you will need to setup a make node.env once:

make node.env

Before you call make run (2.), you need to compile the modified styles and JavaScript:

make themes.all

Alternatively you can also compile selective the theme you have modified, e.g. the simple theme. .. code:: sh

make themes.simple

If you finished your tests you can start to commit your changes. To separate the modified source code from the build products first run:

make static.build.restore

This will restore the old build products and only your changes of the code remain in the working tree which can now be added & commited. When all sources are commited, you can commit the build products simply by:

make static.build.commit

Commiting the build products should be the last step, just before you send us your PR. There is also a make target to rewind this last build commit:

make static.build.drop