diff --git a/Makefile b/Makefile index 0b08c8cc3..adf6c04f0 100644 --- a/Makefile +++ b/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 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 `) + (:origin:`min-width: @tablet `) .. 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: diff --git a/manage b/manage index a49ad0cfb..61bc68b74 100755 --- a/manage +++ b/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() { 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 <&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 $? -} 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 < /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 +}