templates for self-hosting game jams (or any other kind of jam tbh)
1#!/usr/bin/env bash
2
3# makes sure we have up-to-date copies of the styles across all the projects
4# because this is a use case no one is prepared for apparently, me included
5# and now i have to build something to deal with the consequences
6
7# copy sass for zola, jekyll, hugo, wordpress
8cp -r _raw-assets/scss/* zola/sass/
9cp -r _raw-assets/scss/* jekyll/_sass/
10cp -r _raw-assets/scss/* hugo/scss/
11cat _raw-assets/scss/style.scss >> wordpress/resources/css/app.scss
12echo "" >> wordpress/resources/css/app.scss
13echo "@source \"../views/\";" > wordpress/resources/css/app.scss
14echo "@source \"../../app/\";" >> wordpress/resources/css/app.scss
15cp -r _raw-assets/scss/_partials wordpress/resources/css/
16
17# do a bunch of regex copying of partials for astro
18fontscss=$(cat _raw-assets/scss/_partials/_fonts.scss)
19variablescss=$(cat _raw-assets/scss/_partials/_variables.scss)
20globalcss=$(cat _raw-assets/scss/_partials/_global.scss)
21layoutcontent=$(cat astro/src/layouts/Layout.astro)
22
23homepagecss=$(cat _raw-assets/scss/_partials/_homepage.scss)
24homepagecontent=$(cat astro/src/components/Welcome.astro)
25submissionscss=$(cat _raw-assets/scss/_partials/_submissions.scss)
26submissionscontent=$(cat astro/src/components/Submissions.astro)
27gamecardcss=$(cat _raw-assets/scss/_partials/_game_list_item.scss)
28gamecardcontent=$(cat astro/src/components/GameCard.astro)
29
30echo "$layoutcontent" | perl -0777 -pe "s/<style lang=\"scss\">[\s\S]+$//gs" > astro/src/layouts/Layout.astro
31echo "<style lang=\"scss\">" >> astro/src/layouts/Layout.astro
32echo "$fontscss" >> astro/src/layouts/Layout.astro
33echo "$variablescss" >> astro/src/layouts/Layout.astro
34echo "$globalcss" >> astro/src/layouts/Layout.astro
35echo "</style>" >> astro/src/layouts/Layout.astro
36
37echo "$homepagecontent" | perl -0777 -pe "s/<style lang=\"scss\">[\s\S]+$//gs" > astro/src/components/Welcome.astro
38echo "<style lang=\"scss\">" >> astro/src/components/Welcome.astro
39echo "$homepagecss" >> astro/src/components/Welcome.astro
40echo "</style>" >> astro/src/components/Welcome.astro
41
42echo "$submissionscontent" | perl -0777 -pe "s/<style lang=\"scss\">[\s\S]+$//gs" > astro/src/components/Submissions.astro
43echo "<style lang=\"scss\">" >> astro/src/components/Submissions.astro
44echo "$submissionscss" >> astro/src/components/Submissions.astro
45echo "</style>" >> astro/src/components/Submissions.astro
46
47echo "$gamecardcontent" | perl -0777 -pe "s/<style lang=\"scss\">[\s\S]+$//gs" > astro/src/components/GameCard.astro
48echo "<style lang=\"scss\">" >> astro/src/components/GameCard.astro
49echo "$gamecardcss" >> astro/src/components/GameCard.astro
50echo "</style>" >> astro/src/components/GameCard.astro
51
52# copy assets to each project
53cp -r _raw-assets/images/* plain-html/images/
54cp -r _raw-assets/images/* plain-php/images/
55cp -r _raw-assets/images/* zola/static/images/
56cp -r _raw-assets/images/* hugo/images/
57cp -r _raw-assets/images/* wordpress/resources/images/
58cp -r _raw-assets/images/* astro/src/assets/images/
59
60# compile assets for wordpress
61cd wordpress
62bun i
63bun vite build
64cd ../
65
66# compile scss for plain html and php
67sass _raw-assets/scss/style.scss plain-html/css/style.css
68sass _raw-assets/scss/style.scss plain-php/css/style.css