searxng/docs/dev/quickstart.rst
Markus Heiser e09fd4327b [mod] "npm run webfont" require fontforge & ttfautohint packages
See commit dca3bcca9::

     [mod] simple theme: include fonts

     "npm run webfont" to build the fonts directory.
     It requires fontforge and ttfautohint distro packages

     partial revert of commit 7137d28

I don't know why, but the same commit dca3bcca9 removes the fontforge &
ttfautohint packages which has been added in 7137d28.  I assume it was an
mistake of the *partial revert of commit 7137d28*.

Related-to:  https://github.com/searxng/searxng/pull/157#discussion_r654836723

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-08-03 15:19:25 +02:00

2.1 KiB

Development Quickstart

Searx 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 compile styles and JavaScript before run.

make themes.all

Don't forget to install npm, ttfautohint and fontforge first. To install all system requirements of a buildhosts use:

sudo -H ./utils/searx.sh install buildhost

Otherwise, install only what you need at least:

Ubuntu / debian

sudo -H apt-get install npm ttfautohint fontforge

Arch Linux

sudo -H pacman -S npm ttfautohint fontforge

Fedora / RHEL

sudo -H dnf install npm ttfautohint fontforge

If you finished your tests you can start to commit your changes. To separate the changed 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