66 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
		
		
			
		
	
	
			66 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| 
								 | 
							
								#!/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 $?
							 | 
						||
| 
								 | 
							
								}
							 |