35 lines
968 B
Bash
Executable File
35 lines
968 B
Bash
Executable File
#!/bin/bash
|
|
|
|
set -o errexit
|
|
|
|
./validate_static
|
|
|
|
rm -rf static_tmp
|
|
cp -a static static_tmp
|
|
json_reformat -m < static_tmp/manifest.webmanifest | sponge static_tmp/manifest.webmanifest
|
|
find static_tmp -name '*.css' -exec csso {} -o {} \;
|
|
find static_tmp -name '*.html' -exec html-minifier --collapse-whitespace --remove-comments --process-scripts "application/ld+json" {} -o {} \;
|
|
find static_tmp -name '*.js' -exec terser --module -cmo {} {} \;
|
|
find static_tmp -regex '\(.+/LICENSE\|.+\.\(css\|html\|ico\|js\|svg\|txt\|webmanifest\|xml\)\)' -exec zopfli {} \; -exec touch -r {} {}.gz \;
|
|
|
|
remote=www-data@grapheneos.org
|
|
active=$(ssh $remote readlink html)
|
|
|
|
if [[ $active = html_a ]]; then
|
|
target=html_b
|
|
else
|
|
target=html_a
|
|
fi
|
|
|
|
echo active is $active
|
|
echo target is $target
|
|
echo
|
|
|
|
rsync -rpcve ssh --chmod=D755,F644 --delete static_tmp/ $remote:$target
|
|
ssh $remote sync -f $target
|
|
ssh $remote ln -snf $target html
|
|
ssh $remote sync .
|
|
|
|
echo
|
|
echo active is now $target
|