|  | #!/usr/bin/env bash
 | 
						
						
						
							|  | # SPDX-License-Identifier: AGPL-3.0-or-later
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  | declare _Blue
 | 
						
						
						
							|  | declare _creset
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  | themes.help(){
 | 
						
						
						
							|  |     cat <<EOF
 | 
						
						
						
							|  | themes.:
 | 
						
						
						
							|  |   all       : build all themes
 | 
						
						
						
							|  |   live      : to get live builds of CSS & JS use 'LIVE_THEME=simple make run'
 | 
						
						
						
							|  |   simple.:
 | 
						
						
						
							|  |     build   : build simple theme
 | 
						
						
						
							|  |     test    : test simple theme
 | 
						
						
						
							|  | EOF
 | 
						
						
						
							|  | }
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  | themes.all() {
 | 
						
						
						
							|  |     (   set -e
 | 
						
						
						
							|  |         pygments.less
 | 
						
						
						
							|  |         node.env
 | 
						
						
						
							|  |         themes.simple
 | 
						
						
						
							|  |     )
 | 
						
						
						
							|  |     dump_return $?
 | 
						
						
						
							|  | }
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  | themes.live() {
 | 
						
						
						
							|  |     local LIVE_THEME="${LIVE_THEME:-${1}}"
 | 
						
						
						
							|  |     case "${LIVE_THEME}" in
 | 
						
						
						
							|  |         simple)
 | 
						
						
						
							|  |             theme="searx/static/themes/${LIVE_THEME}"
 | 
						
						
						
							|  |             ;;
 | 
						
						
						
							|  |         '')
 | 
						
						
						
							|  |             die_caller 42 "missing theme argument"
 | 
						
						
						
							|  |             ;;
 | 
						
						
						
							|  |         *)
 | 
						
						
						
							|  |             die_caller 42 "unknown theme '${LIVE_THEME}' // [simple]'"
 | 
						
						
						
							|  |             ;;
 | 
						
						
						
							|  |     esac
 | 
						
						
						
							|  |     build_msg GRUNT "theme: $1 (live build)"
 | 
						
						
						
							|  |     nodejs.ensure
 | 
						
						
						
							|  |     cd "${theme}"
 | 
						
						
						
							|  |     {
 | 
						
						
						
							|  |         npm install
 | 
						
						
						
							|  |         npm run watch
 | 
						
						
						
							|  |     } 2>&1 \
 | 
						
						
						
							|  |         | prefix_stdout "${_Blue}THEME ${1} ${_creset}  " \
 | 
						
						
						
							|  |         | grep -E --ignore-case --color 'error[s]?[:]? |warning[s]?[:]? |'
 | 
						
						
						
							|  | }
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  | themes.simple() {
 | 
						
						
						
							|  |     (   set -e
 | 
						
						
						
							|  |         build_msg GRUNT "theme: simple"
 | 
						
						
						
							|  |         npm --prefix searx/static/themes/simple run build
 | 
						
						
						
							|  |     )
 | 
						
						
						
							|  |     dump_return $?
 | 
						
						
						
							|  | }
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  | themes.simple.test() {
 | 
						
						
						
							|  |     build_msg TEST "theme: simple"
 | 
						
						
						
							|  |     nodejs.ensure
 | 
						
						
						
							|  |     npm --prefix searx/static/themes/simple install
 | 
						
						
						
							|  |     npm --prefix searx/static/themes/simple run test
 | 
						
						
						
							|  |     dump_return $?
 | 
						
						
						
							|  | }
 |