From c7f274041445f12a50204d1920065b58d5a21613 Mon Sep 17 00:00:00 2001 From: Markus Heiser Date: Wed, 29 Dec 2021 21:28:25 +0100 Subject: [PATCH] [mod] live build of a theme: LIVE_THEME=simple make run Environment variable to get live builds while modifying CSS & JS of a theme:: LIVE_THEME=simple make run Signed-off-by: Markus Heiser --- Makefile | 6 +----- docs/dev/makefile.rst | 19 ++++++++++++------- docs/dev/quickstart.rst | 5 +++++ manage | 11 +++++++++++ 4 files changed, 29 insertions(+), 12 deletions(-) diff --git a/Makefile b/Makefile index 89e32ec9..54a38561 100644 --- a/Makefile +++ b/Makefile @@ -25,11 +25,7 @@ help: PHONY += run run: install - $(Q) ( \ - sleep 2 ; \ - xdg-open http://127.0.0.1:8888/ ; \ - ) & - SEARXNG_DEBUG=1 ./manage pyenv.cmd python -m searx.webapp + $(Q)./manage webapp.run PHONY += install uninstall install uninstall: diff --git a/docs/dev/makefile.rst b/docs/dev/makefile.rst index 66def0b3..8c9058c3 100644 --- a/docs/dev/makefile.rst +++ b/docs/dev/makefile.rst @@ -13,7 +13,7 @@ Makefile To install system requirements follow :ref:`buildhosts`. -All relevant build tasks are implemented in :origin:`manage.sh` and for CI or +All relevant build tasks are implemented in :origin:`manage` and for CI or IDE integration a small ``Makefile`` wrapper is available. If you are not familiar with Makefiles, we recommend to read gnu-make_ introduction. @@ -173,14 +173,19 @@ Install latest Node.js_ LTS locally (uses nvm_):: To get up a running a developer instance simply call ``make run``. This enables *debug* option in :origin:`searx/settings.yml`, starts a ``./searx/webapp.py`` -instance, disables *debug* option again and opens the URL in your favorite WEB -browser (:man:`xdg-open`):: +instance and opens the URL in your favorite WEB browser (:man:`xdg-open`):: $ make run - PYENV OK - SEARXNG_DEBUG=1 ./manage.sh pyenv.cmd python ./searx/webapp.py - ... - INFO:werkzeug: * Running on http://127.0.0.1:8888/ (Press CTRL+C to quit) + +Changes to theme's HTML templates (jinja2) are instant. Changes to the CSS & JS +sources of the theme need to be rebuild. You can do that by running:: + + $ make themes.all + +Alternatively to ``themes.all`` you can run *live builds* of the theme you are +modify:: + + $ LIVE_THEME=simple make run .. _make clean: diff --git a/docs/dev/quickstart.rst b/docs/dev/quickstart.rst index d2b666c0..db52a2d8 100644 --- a/docs/dev/quickstart.rst +++ b/docs/dev/quickstart.rst @@ -40,10 +40,15 @@ JavaScript: Alternatively you can also compile selective the theme you have modified, e.g. the *simple* theme. + .. code:: sh make themes.simple +.. tip:: + + To get live builds while modifying CSS & JS use: ``LIVE_THEME=simple make run`` + If you finished your *tests* you can start to commit your changes. To separate the modified source code from the build products first run: diff --git a/manage b/manage index 4dfc6978..fa33a2e2 100755 --- a/manage +++ b/manage @@ -117,6 +117,17 @@ fi # needed by sphinx-docs export DOCS_BUILD +webapp.run() { + SEARXNG_DEBUG=1 pyenv.cmd python -m searx.webapp & + sleep 3 + if [ "${LIVE_THEME}" ]; then + themes.live "${LIVE_THEME}" & + fi + xdg-open http://127.0.0.1:8888/ + wait -n + kill 0 +} + buildenv() { # settings file from repository's working tree are used by default