diff --git a/.gitignore b/.gitignore index 44113368..23a3af09 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ nginx.conf.tmp nginx.conf.root.tmp node_modules -static_tmp +static-tmp diff --git a/deploy-static b/deploy-static index c5284621..60d18fc7 100755 --- a/deploy-static +++ b/deploy-static @@ -29,7 +29,7 @@ for server in ${servers[@]}; do ssh $remote rm -rf $target ssh $remote cp -a $active $target - rsync -rptcv --chmod=D755,F644 --delete static_tmp/ $remote:$target + rsync -rptcv --chmod=D755,F644 --delete static-tmp/ $remote:$target ssh $remote sync -f $target ssh $remote ln -snf $target /srv/grapheneos.org ssh $remote sync /srv/grapheneos.org diff --git a/generate-feed.py b/generate-feed.py index d5664eff..4641bb9b 100755 --- a/generate-feed.py +++ b/generate-feed.py @@ -5,7 +5,7 @@ from datetime import datetime import lxml.html from lxml import etree -document = lxml.html.parse("static_tmp/releases.html").getroot() +document = lxml.html.parse("static-tmp/releases.html").getroot() releases = document.body.cssselect("#changelog article") updated = None @@ -51,5 +51,5 @@ feed = f""" """ -with open("static_tmp/releases.atom", "w") as f: +with open("static-tmp/releases.atom", "w") as f: f.write(feed) diff --git a/process-static b/process-static index a93a0aaa..8a103e19 100755 --- a/process-static +++ b/process-static @@ -5,20 +5,20 @@ shopt -s dotglob extglob globstar export PATH="$PWD/node_modules/.bin:$PATH" -rm -rf static_tmp -cp -a static static_tmp -rm -rf static_tmp/js/fastboot/{!(dist),dist/!(fastboot.min.mjs|fastboot.min.mjs.map|vendor)} -mv static_tmp/js/fastboot/dist static_tmp/js/fastboot/v1.0.9 +rm -rf static-tmp +cp -a static static-tmp +rm -rf static-tmp/js/fastboot/{!(dist),dist/!(fastboot.min.mjs|fastboot.min.mjs.map|vendor)} +mv static-tmp/js/fastboot/dist static-tmp/js/fastboot/v1.0.9 -for file in static_tmp/**/*.@(json|webmanifest); do +for file in static-tmp/**/*.@(json|webmanifest); do json_reformat -m < "$file" | sponge "$file" done -find static_tmp -name '*.css' -exec csso {} -o {} \; -find static_tmp -name '*.js' -exec terser --ecma 2021 --module -cmo {} {} \; +find static-tmp -name '*.css' -exec csso {} -o {} \; +find static-tmp -name '*.js' -exec terser --ecma 2021 --module -cmo {} {} \; replace="" -for file in static_tmp/**/*.css static_tmp/js/*.js static_tmp/mask-icon.svg; do +for file in static-tmp/**/*.css static-tmp/js/*.js static-tmp/mask-icon.svg; do hash=$(sha256sum "$file" | head -c 8) dest="$(dirname $file)/$hash.$(basename $file)" mv "$file" "$dest" @@ -26,9 +26,9 @@ for file in static_tmp/**/*.css static_tmp/js/*.js static_tmp/mask-icon.svg; do done cp nginx/nginx.conf nginx.conf.tmp -sed -i "$replace" static_tmp/**/*.html nginx.conf.tmp +sed -i "$replace" static-tmp/**/*.html nginx.conf.tmp -find static_tmp -name '*.html' -exec html-minifier --collapse-whitespace \ +find static-tmp -name '*.html' -exec html-minifier --collapse-whitespace \ --process-scripts "application/ld+json" --collapse-boolean-attributes \ --remove-attribute-quotes --remove-comments --remove-empty-attributes \ --remove-redundant-attributes --remove-script-type-attributes \ @@ -36,7 +36,7 @@ find static_tmp -name '*.html' -exec html-minifier --collapse-whitespace \ ./generate-feed.py -for file in static_tmp/**/*.@(atom|xml); do +for file in static-tmp/**/*.@(atom|xml); do xmllint --noblanks "$file" --output "$file" done @@ -51,5 +51,5 @@ zopfli_preserve_time() { } export -f zopfli_preserve_time -find static_tmp -regex '.+\.\(atom\|css\|html\|ico\|js\|json\|mjs\|pdf\|svg\|txt\|webmanifest\|xml\)' | +find static-tmp -regex '.+\.\(atom\|css\|html\|ico\|js\|json\|mjs\|pdf\|svg\|txt\|webmanifest\|xml\)' | parallel -q ::: brotli_k zopfli_preserve_time :::: - diff --git a/validate-static b/validate-static index a0d09d38..8776be99 100755 --- a/validate-static +++ b/validate-static @@ -5,15 +5,15 @@ shopt -s dotglob extglob globstar export PATH="$PWD/node_modules/.bin:$PATH" -rm -rf static_tmp -cp -a static static_tmp -rm -rf static_tmp/js/fastboot/{!(dist),dist/!(fastboot.min.mjs|fastboot.min.mjs.map|vendor)} +rm -rf static-tmp +cp -a static static-tmp +rm -rf static-tmp/js/fastboot/{!(dist),dist/!(fastboot.min.mjs|fastboot.min.mjs.map|vendor)} -for file in static_tmp/**/*.@(json|webmanifest); do +for file in static-tmp/**/*.@(json|webmanifest); do json_verify < "$file" >/dev/null done -xmllint --noout static_tmp/**/*.@(html|svg|xml) -eslint static_tmp/**/!(fastboot.min.m|z-worker-pako.|pako_inflate.min.|)js -stylelint static_tmp/**/*.css -validatornu --Werror --also-check-css --also-check-svg static_tmp/**/!(bimi).@(css|html|svg) +xmllint --noout static-tmp/**/*.@(html|svg|xml) +eslint static-tmp/**/!(fastboot.min.m|z-worker-pako.|pako_inflate.min.|)js +stylelint static-tmp/**/*.css +validatornu --Werror --also-check-css --also-check-svg static-tmp/**/!(bimi).@(css|html|svg)