mirror of
https://github.com/jakejarvis/jarv.is.git
synced 2025-04-27 18:30:30 -04:00
53 lines
1.7 KiB
Bash
Executable File
53 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# only designed to run on Netlify's build image
|
|
# https://github.com/netlify/build-image
|
|
|
|
set -euo pipefail
|
|
|
|
BINDIR=$HOME/jj-bin
|
|
mkdir -p $BINDIR
|
|
|
|
# download latest forked Hugo extended binary
|
|
# https://github.com/jakejarvis/hugo-custom/releases
|
|
echo "Downloading Hugo..."
|
|
curl -sS -L https://github.com/jakejarvis/hugo-custom/releases/latest/download/hugo-extended -o $BINDIR/hugo-extended
|
|
chmod +x $BINDIR/hugo-extended
|
|
|
|
# download jpegoptim binary
|
|
echo "Downloading jpegoptim..."
|
|
curl -sS -L https://github.com/imagemin/jpegoptim-bin/raw/master/vendor/linux/jpegoptim -o $BINDIR/jpegoptim
|
|
chmod +x $BINDIR/jpegoptim
|
|
|
|
# download pngquant binary
|
|
echo "Downloading pngquant..."
|
|
curl -sS -L https://github.com/imagemin/pngquant-bin/raw/master/vendor/linux/x64/pngquant -o $BINDIR/pngquant
|
|
chmod +x $BINDIR/pngquant
|
|
|
|
# download optipng binary
|
|
echo "Downloading optipng..."
|
|
curl -sS -L https://github.com/imagemin/optipng-bin/raw/master/vendor/linux/x64/optipng -o $BINDIR/optipng
|
|
chmod +x $BINDIR/optipng
|
|
|
|
# make sure everything's OK
|
|
echo "Is Hugo ready?"
|
|
$BINDIR/hugo-extended version
|
|
|
|
# build Hugo site
|
|
echo "Building site..."
|
|
$BINDIR/hugo-extended --gc --cleanDestinationDir --verbose
|
|
|
|
# optimize images in publish directory
|
|
echo "Optimizing JPEGs..."
|
|
find ./public -iname "*.jp*" -print0 | xargs -0 $BINDIR/jpegoptim --max=80 --strip-all --quiet
|
|
echo "Optimizing PNGs..."
|
|
find ./public -iname "*.png" -print0 | xargs -0 $BINDIR/pngquant --quality=50-70 --speed 3 --ext=.png --force
|
|
find ./public -iname "*.png" -print0 | xargs -0 $BINDIR/optipng -o1 -force -strip all -quiet --
|
|
|
|
# remove binaries (kinda unsafe, but doesn't really matter b/c it's docker)
|
|
echo "Cleaning up binaries..."
|
|
rm -rf $BINDIR
|
|
|
|
echo "All done!"
|
|
exit 0
|