diff --git a/build.sh b/build.sh index 0f46cae..c78de5a 100755 --- a/build.sh +++ b/build.sh @@ -1,10 +1,8 @@ #!/bin/bash echo "Сборка сайта в двух помидорных темах и оптимизация результатов." time_ms="$(date '+%s%3N')" -# удаление каталогов предыдущей сборки -rm -rf _site -rm -rf _site_older -rm -rf _site_color +# удаление каталогов предыдущей сборки, если таковые имеются +find . -maxdepth 1 -type d -name "_site*" -exec rm -rf {} \; # сборка сайта в двух помидорных темах function jekyll_build { case "$1" in @@ -22,8 +20,8 @@ function jekyll_build { jekyll build --disable-disk-cache --quiet } 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_color/_site ./_site/color @@ -39,21 +37,18 @@ cp -r color/assets/* . rm -r color/assets rm -r color/404.html rm -r color/return.html -# оптимизация ряда тегов -function optimize_html { - echo "Оптимизация: $1" - sed -i 's|layout-padding=""|layout-padding|g' "$1" - sed -i 's| class="language-plaintext highlighter-rouge"||g' "$1" - sed -i 's| class="language-java highlighter-rouge"||g' "$1" - sed -i 's|
|
|g' "$1" - sed -i 's|
|
|g' "$1" - sed -i 's|
|
|g' "$1" - sed -i -r 's|||g' "$1" -} -export -f optimize_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 +# шаблоны для оптимизации ряда тегов +expr+=('s|layout-padding=""|layout-padding|g') +expr+=('s| class="language-plaintext highlighter-rouge"||g') +expr+=('s| class="language-java highlighter-rouge"||g') +expr+=('s|
|
|g') +expr+=('s|
|
|g') +expr+=('s|
|
|g') +expr+=('s|||g') +# запуск параллельной обработки собранных страниц и оптимизация ряда тегов +find . -type f -name "*.html" -printf '%p\0' | xargs -I{} -n1 -0 -P0 bash -c \ + "echo 'Оптимизация: {}' && sed -i -E $(printf " -e '%s'" "${expr[@]}") '{}'" +# переход в корень сайта для каталогов без заглавной страницы +find . -type d -exec cp -n return.html {}/index.html \; rm -r return.html -echo "Общее время выполнения: $(("$(date '+%s%3N')" - "$time_ms")) мс." +echo "Общее время выполнения: $(($(date '+%s%3N') - time_ms)) мс." diff --git a/package.sh b/package.sh index f0d779c..1c12bf1 100755 --- a/package.sh +++ b/package.sh @@ -2,4 +2,4 @@ echo "Создание архива для последующего развёртывания." cd _site || exit rm -rf ../pomodoro2.zip -7z a ../pomodoro2.zip . +7z a ../pomodoro2.zip . | grep -E '\S'