diff options
| -rw-r--r-- | Makefile | 1 | ||||
| -rw-r--r-- | client/simple/package.json | 3 | ||||
| -rw-r--r-- | docs/admin/settings/settings_ui.rst | 2 | ||||
| -rw-r--r-- | docs/conf.py | 2 | ||||
| -rw-r--r-- | docs/dev/makefile.rst | 9 | ||||
| -rwxr-xr-x | manage | 12 | ||||
| -rwxr-xr-x | utils/lib_sxng_data.sh | 12 | ||||
| -rwxr-xr-x | utils/lib_sxng_node.sh | 6 | ||||
| -rwxr-xr-x | utils/lib_sxng_static.sh | 9 | ||||
| -rwxr-xr-x | utils/lib_sxng_themes.sh | 78 | ||||
| -rw-r--r-- | utils/lib_sxng_vite.sh | 49 |
11 files changed, 68 insertions, 115 deletions
@@ -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 diff --git a/client/simple/package.json b/client/simple/package.json index 2e38f67d6..2f6ec539b 100644 --- a/client/simple/package.json +++ b/client/simple/package.json @@ -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" }, diff --git a/docs/admin/settings/settings_ui.rst b/docs/admin/settings/settings_ui.rst index 75f617683..0e0235594 100644 --- a/docs/admin/settings/settings_ui.rst +++ b/docs/admin/settings/settings_ui.rst @@ -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: diff --git a/docs/conf.py b/docs/conf.py index 23eca3202..25d071f83 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -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 diff --git a/docs/dev/makefile.rst b/docs/dev/makefile.rst index 383113bae..a66ce2f22 100644 --- a/docs/dev/makefile.rst +++ b/docs/dev/makefile.rst @@ -180,10 +180,13 @@ 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 - $ LIVE_THEME=simple make run + Alternatively to ``themes.all`` you can run *live builds* of the theme you are + modify (:ref:`make themes`):: + + $ LIVE_THEME=simple make run .. _make format.python: @@ -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() { diff --git a/utils/lib_sxng_data.sh b/utils/lib_sxng_data.sh index 50a932f6d..ab1204de6 100755 --- a/utils/lib_sxng_data.sh +++ b/utils/lib_sxng_data.sh @@ -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 $? -} diff --git a/utils/lib_sxng_node.sh b/utils/lib_sxng_node.sh index 0845723e0..27a69a62a 100755 --- a/utils/lib_sxng_node.sh +++ b/utils/lib_sxng_node.sh @@ -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 diff --git a/utils/lib_sxng_static.sh b/utils/lib_sxng_static.sh index d991d4b89..9c9ea085c 100755 --- a/utils/lib_sxng_static.sh +++ b/utils/lib_sxng_static.sh @@ -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(){ @@ -101,7 +96,7 @@ static.build.commit() { ( set -e # fix & build the themes - themes.fix + themes.fix themes.all # add build files diff --git a/utils/lib_sxng_themes.sh b/utils/lib_sxng_themes.sh index 059f9c86f..23faf0e4b 100755 --- a/utils/lib_sxng_themes.sh +++ b/utils/lib_sxng_themes.sh @@ -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 - ) - 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 + # we run a build to test (in CI) + build_msg SIMPLE "theme: run build (to test)" + vite.simple.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 $? -} diff --git a/utils/lib_sxng_vite.sh b/utils/lib_sxng_vite.sh index d188fe503..7eb670fba 100644 --- a/utils/lib_sxng_vite.sh +++ b/utils/lib_sxng_vite.sh @@ -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 +} |