mirror of
https://github.com/parchlinuxB/Gitee.git
synced 2025-02-22 18:05:44 -05:00
[fix] build workflows of the themes
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
This commit is contained in:
parent
e4f8f0483f
commit
15d0e274b3
7 changed files with 66 additions and 31 deletions
7
Makefile
7
Makefile
|
@ -50,7 +50,7 @@ search.checker.%: install
|
|||
$(Q)./manage pyenv.cmd searxng-checker -v "$(subst _, ,$(patsubst search.checker.%,%,$@))"
|
||||
|
||||
PHONY += test ci.test test.shell
|
||||
ci.test: test.yamllint test.black test.pyright test.pylint test.unit test.robot test.rst test.pybabel
|
||||
ci.test: test.yamllint test.black test.pyright test.pylint test.unit test.robot test.rst test.pybabel test.themes
|
||||
test: test.yamllint test.black test.pyright test.pylint test.unit test.robot test.rst test.shell
|
||||
test.shell:
|
||||
$(Q)shellcheck -x -s dash \
|
||||
|
@ -83,8 +83,9 @@ MANAGE += node.env node.env.dev node.clean
|
|||
MANAGE += py.build py.clean
|
||||
MANAGE += pyenv pyenv.install pyenv.uninstall
|
||||
MANAGE += format.python
|
||||
MANAGE += test.yamllint test.pylint test.pyright test.black test.pybabel test.unit test.coverage test.robot test.rst test.clean
|
||||
MANAGE += themes.all themes.simple themes.simple.test pygments.less
|
||||
MANAGE += test.yamllint test.pylint test.pyright test.black test.pybabel test.unit test.coverage test.robot test.rst test.clean test.themes
|
||||
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
|
||||
|
||||
|
|
|
@ -6,7 +6,8 @@ Development Quickstart
|
|||
|
||||
.. _npm: https://www.npmjs.com/
|
||||
.. _Node.js: https://nodejs.org/
|
||||
|
||||
.. _eslint: https://eslint.org/
|
||||
.. _stylelint: https://stylelint.io/
|
||||
|
||||
.. sidebar:: further read
|
||||
|
||||
|
@ -40,7 +41,8 @@ to our ":ref:`how to contribute`" guideline.
|
|||
|
||||
If you implement themes, you will need to setup a :ref:`Node.js environment
|
||||
<make node.env>`. Before you call *make run* (2.), you need to compile the
|
||||
modified styles and JavaScript: ``make node.clean themes.all``
|
||||
modified styles and JavaScript: ``make node.clean themes.all``. If eslint_ or
|
||||
stylelint_ report some issues, try ``make themes.fix``.
|
||||
|
||||
Alternatively you can also compile selective the theme you have modified,
|
||||
e.g. the *simple* theme.
|
||||
|
|
|
@ -21,9 +21,10 @@ module.exports = function (grunt) {
|
|||
pkg: grunt.file.readJSON('package.json'),
|
||||
watch: {
|
||||
scripts: {
|
||||
files: ['gruntfile.js', 'src/**'],
|
||||
files: ['gruntfile.js', 'eslint.config.mjs', '.stylelintrc.json', 'src/**'],
|
||||
tasks: [
|
||||
'eslint',
|
||||
'stylelint',
|
||||
'copy',
|
||||
'uglify',
|
||||
'less',
|
||||
|
@ -49,6 +50,7 @@ module.exports = function (grunt) {
|
|||
stylelint: {
|
||||
options: {
|
||||
formatter: 'unix',
|
||||
fix: grunt.option('fix')
|
||||
},
|
||||
src: [
|
||||
'src/less/**/*.less',
|
||||
|
@ -298,7 +300,7 @@ module.exports = function (grunt) {
|
|||
grunt.loadNpmTasks('grunt-stylelint');
|
||||
grunt.loadNpmTasks('grunt-eslint');
|
||||
|
||||
grunt.registerTask('test', ['eslint']);
|
||||
grunt.registerTask('test', ['eslint', 'stylelint']);
|
||||
|
||||
grunt.registerTask('default', [
|
||||
'eslint',
|
||||
|
|
|
@ -29,12 +29,13 @@
|
|||
"scripts": {
|
||||
"all": "npm install && grunt",
|
||||
"build": "grunt",
|
||||
"test": "grunt test",
|
||||
"clean": "rm -Rf node_modules",
|
||||
"eslint": "grunt eslint",
|
||||
"eslint-fix": "grunt eslint --fix",
|
||||
"watch": "grunt watch",
|
||||
"clean": "rm -Rf node_modules",
|
||||
"fix": "grunt test --fix",
|
||||
"stylelint": "grunt stylelint",
|
||||
"stylelint-fix": "grunt stylelint --fix"
|
||||
"stylelint-fix": "grunt stylelint --fix",
|
||||
"test": "grunt test",
|
||||
"watch": "grunt watch --fix"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -100,7 +100,8 @@ static.build.commit() {
|
|||
static.build.drop &>/dev/null
|
||||
|
||||
( set -e
|
||||
# build the themes
|
||||
# fix & build the themes
|
||||
themes.fix
|
||||
themes.all
|
||||
|
||||
# add build files
|
||||
|
|
|
@ -89,7 +89,6 @@ test.robot() {
|
|||
dump_return $?
|
||||
}
|
||||
|
||||
|
||||
test.rst() {
|
||||
build_msg TEST "[reST markup] ${RST_FILES[*]}"
|
||||
|
||||
|
@ -98,6 +97,12 @@ test.rst() {
|
|||
done
|
||||
}
|
||||
|
||||
test.themes() {
|
||||
build_msg TEST 'SearXNG themes'
|
||||
themes.test
|
||||
dump_return $?
|
||||
}
|
||||
|
||||
test.pybabel() {
|
||||
TEST_BABEL_FOLDER="build/test/pybabel"
|
||||
build_msg TEST "[extract messages] pybabel"
|
||||
|
|
|
@ -7,21 +7,41 @@ declare _creset
|
|||
themes.help(){
|
||||
cat <<EOF
|
||||
themes.:
|
||||
all : build all themes
|
||||
live : to get live builds of CSS & JS use 'LIVE_THEME=simple make run'
|
||||
simple.: build simple theme
|
||||
test : test simple theme
|
||||
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
|
||||
)
|
||||
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
|
||||
|
@ -29,30 +49,30 @@ themes.live() {
|
|||
theme="searx/static/themes/${LIVE_THEME}"
|
||||
;;
|
||||
'')
|
||||
die_caller 42 "missing theme argument"
|
||||
die 42 "missing theme argument"
|
||||
;;
|
||||
*)
|
||||
die_caller 42 "unknown theme '${LIVE_THEME}' // [simple]'"
|
||||
die 42 "unknown theme '${LIVE_THEME}' // [simple]'"
|
||||
;;
|
||||
esac
|
||||
build_msg GRUNT "theme: $1 (live build)"
|
||||
nodejs.ensure
|
||||
build_msg SIMPLE "theme: $1 (live build)"
|
||||
node.env
|
||||
themes.simple.pygments
|
||||
cd "${theme}"
|
||||
{
|
||||
npm install
|
||||
npm run watch
|
||||
} 2>&1 \
|
||||
| prefix_stdout "${_Blue}THEME ${1} ${_creset} " \
|
||||
| grep -E --ignore-case --color 'error[s]?[:]? |warning[s]?[:]? |'
|
||||
} # 2>&1 \
|
||||
# | prefix_stdout "${_Blue}THEME ${1} ${_creset} " \
|
||||
# | grep -E --ignore-case --color 'error[s]?[:]? |warning[s]?[:]? |'
|
||||
}
|
||||
|
||||
themes.simple() {
|
||||
( set -e
|
||||
node.env
|
||||
themes.simple.pygments
|
||||
)
|
||||
build_msg GRUNT "theme: simple"
|
||||
build_msg SIMPLE "theme: run build"
|
||||
# "run build" includes tests from eslint and stylelint
|
||||
npm --prefix searx/static/themes/simple run build
|
||||
)
|
||||
dump_return $?
|
||||
}
|
||||
|
||||
|
@ -67,11 +87,14 @@ themes.simple.pygments() {
|
|||
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 TEST "theme: simple"
|
||||
node.env
|
||||
npm --prefix searx/static/themes/simple install
|
||||
build_msg SIMPLE "theme: run test"
|
||||
npm --prefix searx/static/themes/simple run test
|
||||
dump_return $?
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue