2024-12-29

This commit is contained in:
Gennadiy 2024-12-29 10:39:46 +03:00
parent b711b965a3
commit 2adcb73c8b
2 changed files with 22 additions and 27 deletions

View file

@ -1,10 +1,8 @@
#!/bin/bash #!/bin/bash
echo "Сборка сайта в двух помидорных темах и оптимизация результатов." echo "Сборка сайта в двух помидорных темах и оптимизация результатов."
time_ms="$(date '+%s%3N')" time_ms="$(date '+%s%3N')"
# удаление каталогов предыдущей сборки # удаление каталогов предыдущей сборки, если таковые имеются
rm -rf _site find . -maxdepth 1 -type d -name "_site*" -exec rm -rf {} \;
rm -rf _site_older
rm -rf _site_color
# сборка сайта в двух помидорных темах # сборка сайта в двух помидорных темах
function jekyll_build { function jekyll_build {
case "$1" in case "$1" in
@ -23,8 +21,8 @@ function jekyll_build {
jekyll build --disable-disk-cache --quiet jekyll build --disable-disk-cache --quiet
} }
export -f jekyll_build export -f jekyll_build
# запуск параллельной сборки сайта в двух помидорных темах # запуск параллельной сборки сайта в двух помидорных темах оформления
printf '%s\0' {older,color} | xargs -I{} -n1 -0 -P0 bash -c 'jekyll_build "{}"' printf 'jekyll_build "%s"\0' {older,color} | xargs -n1 -0 -P0 bash -c
# объединение двух сборок # объединение двух сборок
cp -r _site_older/_site . cp -r _site_older/_site .
cp -r _site_color/_site ./_site/color cp -r _site_color/_site ./_site/color
@ -42,24 +40,21 @@ cp -r color/assets/* .
rm -r color/assets rm -r color/assets
rm -r color/404.html rm -r color/404.html
rm -r color/return.html rm -r color/return.html
# оптимизация ряда тегов # шаблоны для оптимизации ряда тегов
function optimize_html { expr+=('s|layout-padding=""|layout-padding|g')
echo "Оптимизация: $1" expr+=('s| class="language-plaintext highlighter-rouge"||g')
sed -i 's|layout-padding=""|layout-padding|g' "$1" expr+=('s| class="language-java highlighter-rouge"||g')
sed -i 's| class="language-plaintext highlighter-rouge"||g' "$1" expr+=('s| class="language-html highlighter-rouge"||g')
sed -i 's| class="language-java highlighter-rouge"||g' "$1" expr+=('s| class="language-js highlighter-rouge"||g')
sed -i 's| class="language-html highlighter-rouge"||g' "$1" expr+=('s|<div><div class="highlight">|<div class="highlight">|g')
sed -i 's| class="language-js highlighter-rouge"||g' "$1" expr+=('s|</pre></div></div>|</pre></div>|g')
sed -i 's|<div><div class="highlight">|<div class="highlight">|g' "$1" expr+=('s|<hr />|<hr>|g')
sed -i 's|</pre></div></div>|</pre></div>|g' "$1" expr+=('s|<input(.+) />|<input\1>|g')
sed -i 's|<hr />|<hr>|g' "$1" expr+=('s|<img(.+) />|<img\1>|g')
sed -i -r 's|<input(.+) />|<input\1>|g' "$1" # запуск параллельной обработки собранных страниц и оптимизация ряда тегов
sed -i -r 's|<img(.+) />|<img\1>|g' "$1" find . -type f -name "*.html" -printf '%p\0' | xargs -I{} -n1 -0 -P0 bash -c \
} "echo 'Оптимизация: {}' && sed -i -E $(printf " -e '%s'" "${expr[@]}") '{}'"
export -f optimize_html # переход в корень сайта для каталогов без заглавной страницы
# запуск параллельной обработки собранных страниц и оптимизации ряда тегов find . -type d -exec cp -n return.html {}/index.html \;
find . -type f -name "*.html" -print0 | xargs -I{} -n1 -0 -P0 bash -c 'optimize_html "{}"'
# страница перехода в корень сайта для каталогов без заглавной страницы
find . -type d -print0 | xargs -I{} -n1 -0 -P0 cp -n return.html {}/index.html
rm -r return.html rm -r return.html
echo "Общее время выполнения: $(("$(date '+%s%3N')" - "$time_ms")) мс." echo "Общее время выполнения: $(($(date '+%s%3N') - time_ms)) мс."

View file

@ -2,4 +2,4 @@
echo "Создание архива для последующего развёртывания." echo "Создание архива для последующего развёртывания."
cd _site || exit cd _site || exit
rm -rf ../pomodoro1.zip rm -rf ../pomodoro1.zip
7z a ../pomodoro1.zip . 7z a ../pomodoro1.zip . | grep -E '\S'