summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Heiser <markus.heiser@darmarit.de>2021-12-29 21:28:25 +0100
committerMarkus Heiser <markus.heiser@darmarit.de>2021-12-29 21:53:12 +0100
commitc7f274041445f12a50204d1920065b58d5a21613 (patch)
tree1b6e4b2465589b844e438cbe8fc1efb7168a2282
parent1706b130a4eaa8bf493758ef69eca4e7e83a2fbf (diff)
downloadsearxng-c7f274041445f12a50204d1920065b58d5a21613.tar.gz
searxng-c7f274041445f12a50204d1920065b58d5a21613.zip
[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 <markus.heiser@darmarit.de>
-rw-r--r--Makefile6
-rw-r--r--docs/dev/makefile.rst19
-rw-r--r--docs/dev/quickstart.rst5
-rwxr-xr-xmanage11
4 files changed, 29 insertions, 12 deletions
diff --git a/Makefile b/Makefile
index 89e32ec90..54a385614 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 66def0b3a..8c9058c34 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 d2b666c09..db52a2d80 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 4dfc69782..fa33a2e28 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