1
0
Fork 0
6/build.sh

50 lines
2 KiB
Bash
Raw Normal View History

2023-12-17 08:23:32 +03:00
#!/bin/bash
echo "Сборка сайта в двух помидорных темах и оптимизация результатов."
2024-07-31 21:09:30 +03:00
time_ms="$(date '+%s%3N')"
echo "Удаление каталогов предыдущей сборки."
2023-12-17 08:23:32 +03:00
rm -rf _site
rm -rf _site_older
rm -rf _site_color
2024-07-31 21:09:30 +03:00
echo "Сборка сайта в двух помидорных темах."
function jekyll_build {
case "$1" in
"older") echo "Сборка старого помидора." ;;
"color") echo "Сборка цветного помидора." ;;
*) return ;; # две помидорные темы оформления
esac
mkdir -p "_site_$1"
cp -r "jekyll_site/_config_$1.yml" "_site_$1/_config.yml"
cp -r "jekyll_site/Gemfile_$1" "_site_$1/Gemfile"
cd "_site_$1" || return
jekyll build --disable-disk-cache --quiet
}
export -f jekyll_build
echo "Запуск параллельной сборки сайта в двух помидорных темах."
printf '%s\0' {older,color} | xargs -I{} -n1 -0 -P0 bash -c 'jekyll_build "{}"'
echo "Объединение двух сборок."
cp -r _site_older/_site .
cp -r _site_color/_site ./_site/color
2023-12-17 08:23:32 +03:00
echo "Копирование без сборки."
cp -r jekyll_site/robots.txt _site
echo "Оптимизация собранного контента."
cd _site || exit
cp -r assets/* .
rm -r assets
rm -r color/assets/favicon.ico
cp -r color/assets/* .
rm -r color/assets
rm -r color/404.html
2024-03-31 02:11:21 +03:00
rm -r color/return.html
2024-07-31 21:09:30 +03:00
echo "Страница перехода в корень сайта для каталогов без заглавной страницы."
find . -type d -print0 | xargs -I{} -n1 -0 -P0 cp -n return.html {}/index.html
2024-03-31 02:11:21 +03:00
rm -r return.html
2023-12-17 08:23:32 +03:00
echo "Удаление лишнего, потому что сайта ещё нет."
cd ..
rm -r _site/css
rm -r _site/img
rm -r _site/js
rm -r _site/resources
2024-03-31 02:11:21 +03:00
rm -r _site/index.html
rm -r _site/color/index.html
2024-07-31 21:09:30 +03:00
echo "Общее время выполнения: $(("$(date '+%s%3N')" - "$time_ms")) мс."