From 7329d664bb4dd4ad5b0aa9cf0cf9caef410199bf Mon Sep 17 00:00:00 2001 From: Daniel Micay Date: Thu, 8 Jul 2021 04:33:12 -0400 Subject: rename scripts --- process-static | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100755 process-static (limited to 'process-static') diff --git a/process-static b/process-static new file mode 100755 index 00000000..25917aa4 --- /dev/null +++ b/process-static @@ -0,0 +1,45 @@ +#!/bin/bash + +set -o errexit -o nounset -o pipefail +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 + +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 {} {} \; + +replace="" +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" + replace+=";s|/${file#*/}|/${dest#*/}|g" +done + +cp nginx/nginx.conf nginx.conf.tmp +sed -i "$replace" static_tmp/**/*.html nginx.conf.tmp + +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 \ + --remove-style-link-type-attributes --sort-attributes --sort-class-name {} -o {} \; + +./generate_feed.py + +for file in static_tmp/**/*.@(atom|xml); do + xmllint --noblanks "$file" --output "$file" +done + +find static_tmp -regex '.+\.\(atom\|css\|html\|ico\|js\|json\|mjs\|pdf\|svg\|txt\|webmanifest\|xml\)' \ + -exec zopfli {} \; -exec touch -r {} {}.gz \; \ + -exec brotli -k {} \; -- cgit v1.3.1