#!/usr/bin/env bash
# makes sure we have up-to-date copies of the styles across all the projects
# because this is a use case no one is prepared for apparently, me included
# and now i have to build something to deal with the consequences
# copy sass for zola, jekyll, hugo, wordpress
cp -r _raw-assets/scss/* zola/sass/
cp -r _raw-assets/scss/* jekyll/_sass/
cp -r _raw-assets/scss/* hugo/assets/scss/
cat _raw-assets/scss/style.scss >> wordpress/resources/css/app.scss
echo "" >> wordpress/resources/css/app.scss
echo "@source \"../views/\";" > wordpress/resources/css/app.scss
echo "@source \"../../app/\";" >> wordpress/resources/css/app.scss
cp -r _raw-assets/scss/_partials wordpress/resources/css/
# do a bunch of regex copying of partials for astro
fontscss=$(cat _raw-assets/scss/_partials/_fonts.scss)
variablescss=$(cat _raw-assets/scss/_partials/_variables.scss)
globalcss=$(cat _raw-assets/scss/_partials/_global.scss)
layoutcontent=$(cat astro/src/layouts/Layout.astro)
homepagecss=$(cat _raw-assets/scss/_partials/_homepage.scss)
homepagecontent=$(cat astro/src/components/Welcome.astro)
submissionscss=$(cat _raw-assets/scss/_partials/_submissions.scss)
submissionscontent=$(cat astro/src/components/Submissions.astro)
gamecardcss=$(cat _raw-assets/scss/_partials/_game_list_item.scss)
gamecardcontent=$(cat astro/src/components/GameCard.astro)
echo "$layoutcontent" | perl -0777 -pe "s/" >> astro/src/layouts/Layout.astro
echo "$homepagecontent" | perl -0777 -pe "s/" >> astro/src/components/Welcome.astro
echo "$submissionscontent" | perl -0777 -pe "s/" >> astro/src/components/Submissions.astro
echo "$gamecardcontent" | perl -0777 -pe "s/" >> astro/src/components/GameCard.astro
# copy assets to each project
cp -r _raw-assets/images/* plain-html/images/
cp -r _raw-assets/images/* plain-php/images/
cp -r _raw-assets/images/* zola/static/images/
cp -r _raw-assets/images/* hugo/static/images/
cp -r _raw-assets/images/* wordpress/resources/images/
cp -r _raw-assets/images/* astro/src/assets/images/
# compile assets for wordpress
cd wordpress
bun i
bun vite build
cd ../
# compile scss for plain html and php
sass _raw-assets/scss/style.scss plain-html/css/style.css
sass _raw-assets/scss/style.scss plain-php/css/style.css