| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 | #!/usr/bin/env bash# SPDX-License-Identifier: AGPL-3.0-or-laterdeclare _Bluedeclare _cresetthemes.help(){    cat <<EOFthemes.:  all       : test & build all themes  test      : test all themes  fix       : fix JS & CSS (LESS)  live      : to get live builds of CSS & JS use: LIVE_THEME=simple make run  simple.:    test & build simple theme ..    pygments: build pygment's LESS files for simple theme    test    : test simple theme    fix     : fix JS & CSS (LESS) of the simple themeEOF}themes.all() {    (   set -e        node.env        themes.simple    )    dump_return $?}themes.fix() {    (   set -e        node.env        themes.simple.fix    )    dump_return $?}themes.test() {    (   set -e        node.env        themes.simple.test    )    dump_return $?}themes.live() {    local LIVE_THEME="${LIVE_THEME:-${1}}"    case "${LIVE_THEME}" in        simple)            theme="searx/static/themes/${LIVE_THEME}"            ;;        '')            die 42 "missing theme argument"            ;;        *)            die 42 "unknown theme '${LIVE_THEME}' // [simple]'"            ;;    esac    build_msg SIMPLE "theme: $1 (live build)"    node.env    themes.simple.pygments    cd "${theme}"    {        npm run watch    } # 2>&1 \      #       | prefix_stdout "${_Blue}THEME ${1} ${_creset}  " \      #       | grep -E --ignore-case --color 'error[s]?[:]? |warning[s]?[:]? |'}themes.simple() {    (   set -e        themes.simple.pygments        build_msg SIMPLE "theme: run build"        # "run build" includes tests from eslint and stylelint        npm --prefix searx/static/themes/simple run build    )    dump_return $?}themes.simple.pygments() {    build_msg PYGMENTS "searxng_extra/update/update_pygments.py"    pyenv.cmd python searxng_extra/update/update_pygments.py \        | prefix_stdout "${_Blue}PYGMENTS ${_creset} "    if [ "${PIPESTATUS[0]}" -ne "0" ]; then        build_msg PYGMENTS "building LESS files for pygments failed"        return 1    fi    return 0}themes.simple.fix() {    build_msg SIMPLE "theme: fix"    npm --prefix searx/static/themes/simple run fix    dump_return $?}themes.simple.test() {    build_msg SIMPLE "theme: run test"    npm --prefix searx/static/themes/simple run test    dump_return $?}
 |