summaryrefslogtreecommitdiff
path: root/manage
diff options
context:
space:
mode:
authorMarkus Heiser <markus.heiser@darmarit.de>2021-12-29 10:16:30 +0100
committerMarkus Heiser <markus.heiser@darmarit.de>2021-12-29 21:53:12 +0100
commitedfd069d162c69936926dc149dbea26c4f1f9b88 (patch)
tree69d93171655734db2ca515040d129a07892fd077 /manage
parent54bce130f9074c3d63009237b014c727a1443cc5 (diff)
[mod] manage: add themes.live command (rebuild on modification)
To have a live build while editing the HTML client of a theme. The first argument of the command is the theme name: ./manage themes.live simple Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
Diffstat (limited to 'manage')
-rwxr-xr-xmanage34
1 files changed, 29 insertions, 5 deletions
diff --git a/manage b/manage
index 8eb347f4..08245a9b 100755
--- a/manage
+++ b/manage
@@ -511,12 +511,15 @@ gecko.driver() {
dump_return $?
}
-node.env() {
+nodejs.ensure() {
if ! nvm.min_node "${NODE_MINIMUM_VERSION}"; then
info_msg "install Node.js by NVM"
nvm.nodejs
fi
+}
+node.env() {
+ nodejs.ensure
( set -e
build_msg INSTALL "searx/static/themes/oscar/package.json"
@@ -698,6 +701,30 @@ themes.all() {
dump_return $?
}
+themes.live() {
+ local LIVE_THEME="${LIVE_THEME:-${1}}"
+ case "${LIVE_THEME}" in
+ simple|oscar)
+ theme="searx/static/themes/${LIVE_THEME}"
+ ;;
+ '')
+ die_caller 42 "missing theme argument"
+ ;;
+ *)
+ die_caller 42 "unknown theme '${LIVE_THEME}' // [simple|oscar]'"
+ ;;
+ 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.oscar() {
build_msg GRUNT "theme: oscar"
npm --prefix searx/static/themes/oscar run build
@@ -715,10 +742,7 @@ themes.simple() {
themes.simple.test() {
build_msg TEST "theme: simple"
- if ! nvm.min_node "${NODE_MINIMUM_VERSION}"; then
- info_msg "install Node.js by NVM"
- nvm.nodejs
- fi
+ nodejs.ensure
npm --prefix searx/static/themes/simple install
npm --prefix searx/static/themes/simple run test
dump_return $?