| 
							
							#!/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 $?
 | 
						
						
						
						
							 | 
							
							}
 |