[web-client] integrate the migrated theme in the development workflows
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
This commit is contained in:
parent
1a3543d4b2
commit
2bf77f5d2d
1
Makefile
1
Makefile
@ -85,7 +85,6 @@ MANAGE += pyenv pyenv.install pyenv.uninstall
|
||||
MANAGE += format.python
|
||||
MANAGE += test.yamllint test.pylint test.black test.pybabel test.unit test.coverage test.robot test.rst test.clean test.themes test.types.dev test.types.ci
|
||||
MANAGE += themes.all themes.fix themes.test
|
||||
MANAGE += themes.simple themes.simple.pygments themes.simple.fix
|
||||
MANAGE += static.build.commit static.build.drop static.build.restore
|
||||
MANAGE += nvm.install nvm.clean nvm.status nvm.nodejs
|
||||
|
||||
|
@ -3,7 +3,8 @@
|
||||
"version": "1.0.0",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"build": "vite build",
|
||||
"clean": "rm -Rf node_modules",
|
||||
"build": "node theme_icons.js && vite build",
|
||||
"fix": "eslint --fix && stylelint --fix strict 'src/**/*.{css,scss,sass,less,styl,vue,svelte}'",
|
||||
"icons.html": "node theme_icons.js"
|
||||
},
|
||||
|
@ -44,7 +44,7 @@
|
||||
``center_alignment`` : default ``false``
|
||||
When enabled, the results are centered instead of being in the left (or RTL)
|
||||
side of the screen. This setting only affects the *desktop layout*
|
||||
(:origin:`min-width: @tablet <searx/static/themes/simple/src/less/definitions.less>`)
|
||||
(:origin:`min-width: @tablet <client/simple/src/less/definitions.less>`)
|
||||
|
||||
.. cache_url:
|
||||
|
||||
|
@ -197,7 +197,7 @@ html_sidebars = {
|
||||
],
|
||||
}
|
||||
singlehtml_sidebars = {"index": ["project.html", "localtoc.html"]}
|
||||
html_logo = "../src/brand/searxng-wordmark.svg"
|
||||
html_logo = "../client/simple/src/brand/searxng-wordmark.svg"
|
||||
html_title = "SearXNG Documentation ({})".format(VERSION_STRING)
|
||||
html_show_sourcelink = True
|
||||
|
||||
|
@ -180,8 +180,11 @@ sources of the theme need to be rebuild. You can do that by running::
|
||||
|
||||
$ make themes.all
|
||||
|
||||
Alternatively to ``themes.all`` you can run *live builds* of the theme you are
|
||||
modify (:ref:`make themes`)::
|
||||
..
|
||||
ToDo: vite server is not implemented yet / will be done in a follow up PR
|
||||
|
||||
Alternatively to ``themes.all`` you can run *live builds* of the theme you are
|
||||
modify (:ref:`make themes`)::
|
||||
|
||||
$ LIVE_THEME=simple make run
|
||||
|
||||
|
12
manage
12
manage
@ -314,6 +314,18 @@ format.python() {
|
||||
dump_return $?
|
||||
}
|
||||
|
||||
docs.prebuild() {
|
||||
build_msg DOCS "build ${DOCS_BUILD}/includes"
|
||||
(
|
||||
set -e
|
||||
[ "$VERBOSE" = "1" ] && set -x
|
||||
mkdir -p "${DOCS_BUILD}/includes"
|
||||
./utils/searxng.sh searxng.doc.rst > "${DOCS_BUILD}/includes/searxng.rst"
|
||||
pyenv.cmd searxng_extra/docs_prebuild
|
||||
)
|
||||
dump_return $?
|
||||
}
|
||||
|
||||
# shellcheck disable=SC2119
|
||||
main() {
|
||||
|
||||
|
@ -59,15 +59,3 @@ data.locales() {
|
||||
)
|
||||
dump_return $?
|
||||
}
|
||||
|
||||
docs.prebuild() {
|
||||
build_msg DOCS "build ${DOCS_BUILD}/includes"
|
||||
(
|
||||
set -e
|
||||
[ "$VERBOSE" = "1" ] && set -x
|
||||
mkdir -p "${DOCS_BUILD}/includes"
|
||||
./utils/searxng.sh searxng.doc.rst > "${DOCS_BUILD}/includes/searxng.rst"
|
||||
pyenv.cmd searxng_extra/docs_prebuild
|
||||
)
|
||||
dump_return $?
|
||||
}
|
||||
|
@ -25,8 +25,8 @@ nodejs.ensure() {
|
||||
node.env() {
|
||||
nodejs.ensure
|
||||
( set -e
|
||||
build_msg INSTALL "[npm] ./searx/static/themes/simple/package.json"
|
||||
npm --prefix searx/static/themes/simple install
|
||||
build_msg INSTALL "[npm] ./client/simple/package.json"
|
||||
npm --prefix client/simple install
|
||||
)
|
||||
dump_return $?
|
||||
}
|
||||
@ -44,7 +44,7 @@ node.clean() {
|
||||
fi
|
||||
build_msg CLEAN "themes -- locally installed npm dependencies"
|
||||
( set -e
|
||||
npm --prefix searx/static/themes/simple run clean \
|
||||
npm --prefix client/simple run clean \
|
||||
| prefix_stdout "${_Blue}CLEAN ${_creset} "
|
||||
if [ "${PIPESTATUS[0]}" -ne "0" ]; then
|
||||
return 1
|
||||
|
@ -4,12 +4,7 @@
|
||||
|
||||
STATIC_BUILD_COMMIT="[build] /static"
|
||||
STATIC_BUILT_PATHS=(
|
||||
'searx/static/themes/simple/css'
|
||||
'searx/static/themes/simple/js'
|
||||
'searx/static/themes/simple/src/generated/pygments.less'
|
||||
'searx/static/themes/simple/img'
|
||||
'searx/templates/simple/searxng-wordmark.min.svg'
|
||||
'searx/templates/simple/icons.html'
|
||||
'searx/static/themes/simple'
|
||||
)
|
||||
|
||||
static.help(){
|
||||
|
@ -1,100 +1,36 @@
|
||||
#!/usr/bin/env bash
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
declare _Blue
|
||||
declare _creset
|
||||
|
||||
themes.help(){
|
||||
cat <<EOF
|
||||
themes.:
|
||||
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 theme
|
||||
EOF
|
||||
}
|
||||
|
||||
themes.all() {
|
||||
( set -e
|
||||
node.env
|
||||
themes.simple
|
||||
build_msg SIMPLE "theme: run build"
|
||||
vite.simple.build
|
||||
)
|
||||
dump_return $?
|
||||
}
|
||||
|
||||
themes.fix() {
|
||||
( set -e
|
||||
node.env
|
||||
themes.simple.fix
|
||||
build_msg SIMPLE "theme: fix"
|
||||
vite.simple.fix
|
||||
)
|
||||
dump_return $?
|
||||
}
|
||||
|
||||
themes.test() {
|
||||
( set -e
|
||||
node.env
|
||||
themes.simple.test
|
||||
# we run a build to test (in CI)
|
||||
build_msg SIMPLE "theme: run build (to test)"
|
||||
vite.simple.build
|
||||
)
|
||||
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 $?
|
||||
}
|
||||
|
@ -1,6 +1,8 @@
|
||||
#!/usr/bin/env bash
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
declare _Blue
|
||||
declare _creset
|
||||
|
||||
vite.help(){
|
||||
cat <<EOF
|
||||
@ -12,25 +14,24 @@ EOF
|
||||
}
|
||||
|
||||
VITE_SIMPLE_THEME="${REPO_ROOT}/client/simple"
|
||||
VITE_SIMPLE_DIST="${REPO_ROOT}/searx/static/themes/simple"
|
||||
|
||||
vite.simple.dev() {
|
||||
|
||||
( set -e
|
||||
build_msg SIMPLE "start server for FE development of: ${VITE_SIMPLE_THEME}"
|
||||
pushd "${VITE_SIMPLE_THEME}"
|
||||
npm install
|
||||
npm exec -- vite
|
||||
popd &> /dev/null
|
||||
)
|
||||
|
||||
}
|
||||
# ToDo: vite server is not implemented yet / will be done in a follow up PR
|
||||
#
|
||||
# vite.simple.dev() {
|
||||
# ( set -e
|
||||
# build_msg SIMPLE "start server for FE development of: ${VITE_SIMPLE_THEME}"
|
||||
# pushd "${VITE_SIMPLE_THEME}"
|
||||
# npm install
|
||||
# npm exec -- vite
|
||||
# popd &> /dev/null
|
||||
# )
|
||||
# }
|
||||
|
||||
vite.simple.build() {
|
||||
|
||||
# build static files of the simple theme
|
||||
|
||||
( set -e
|
||||
templates.simple.pygments
|
||||
|
||||
node.env
|
||||
build_msg SIMPLE "run build of theme from: ${VITE_SIMPLE_THEME}"
|
||||
|
||||
pushd "${VITE_SIMPLE_THEME}"
|
||||
@ -38,6 +39,24 @@ vite.simple.build() {
|
||||
npm run fix
|
||||
npm run icons.html
|
||||
npm run build
|
||||
|
||||
popd &> /dev/null
|
||||
)
|
||||
}
|
||||
|
||||
vite.simple.fix() {
|
||||
( set -e
|
||||
node.env
|
||||
npm --prefix client/simple run fix
|
||||
)
|
||||
}
|
||||
|
||||
templates.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
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user