mirror of
				https://github.com/searxng/searxng.git
				synced 2025-11-04 03:27:06 -05:00 
			
		
		
		
	[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>
			
			
This commit is contained in:
		
							parent
							
								
									1706b130a4
								
							
						
					
					
						commit
						c7f2740414
					
				
							
								
								
									
										6
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								Makefile
									
									
									
									
									
								
							@ -25,11 +25,7 @@ help:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
PHONY += run
 | 
					PHONY += run
 | 
				
			||||||
run:  install
 | 
					run:  install
 | 
				
			||||||
	$(Q) ( \
 | 
						$(Q)./manage webapp.run
 | 
				
			||||||
	sleep 2 ; \
 | 
					 | 
				
			||||||
	xdg-open http://127.0.0.1:8888/ ; \
 | 
					 | 
				
			||||||
	) &
 | 
					 | 
				
			||||||
	SEARXNG_DEBUG=1 ./manage pyenv.cmd python -m searx.webapp
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
PHONY += install uninstall
 | 
					PHONY += install uninstall
 | 
				
			||||||
install uninstall:
 | 
					install uninstall:
 | 
				
			||||||
 | 
				
			|||||||
@ -13,7 +13,7 @@ Makefile
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
   To install system requirements follow :ref:`buildhosts`.
 | 
					   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
 | 
					IDE integration a small ``Makefile`` wrapper is available.  If you are not
 | 
				
			||||||
familiar with Makefiles, we recommend to read gnu-make_ introduction.
 | 
					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
 | 
					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``
 | 
					*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
 | 
					instance and opens the URL in your favorite WEB browser (:man:`xdg-open`)::
 | 
				
			||||||
browser (:man:`xdg-open`)::
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
   $ make run
 | 
					   $ make run
 | 
				
			||||||
   PYENV     OK
 | 
					
 | 
				
			||||||
   SEARXNG_DEBUG=1 ./manage.sh pyenv.cmd python ./searx/webapp.py
 | 
					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::
 | 
				
			||||||
   INFO:werkzeug: * Running on http://127.0.0.1:8888/ (Press CTRL+C to quit)
 | 
					
 | 
				
			||||||
 | 
					  $ 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:
 | 
					.. _make clean:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -40,10 +40,15 @@ JavaScript:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
Alternatively you can also compile selective the theme you have modified,
 | 
					Alternatively you can also compile selective the theme you have modified,
 | 
				
			||||||
e.g. the *simple* theme.
 | 
					e.g. the *simple* theme.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.. code:: sh
 | 
					.. code:: sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   make themes.simple
 | 
					   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
 | 
					If you finished your *tests* you can start to commit your changes.  To separate
 | 
				
			||||||
the modified source code from the build products first run:
 | 
					the modified source code from the build products first run:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										11
									
								
								manage
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								manage
									
									
									
									
									
								
							@ -117,6 +117,17 @@ fi
 | 
				
			|||||||
# needed by sphinx-docs
 | 
					# needed by sphinx-docs
 | 
				
			||||||
export DOCS_BUILD
 | 
					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() {
 | 
					buildenv() {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # settings file from repository's working tree are used by default
 | 
					    # settings file from repository's working tree are used by default
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user