59 lines
1.1 KiB
Bash
Executable File
59 lines
1.1 KiB
Bash
Executable File
#! /usr/bin/env bash
|
|
|
|
set -eu
|
|
shopt -s extglob
|
|
|
|
if grep 'localhost:4000' *.md _posts/*.md; then
|
|
echo "ERROR: Your content has links to localhost:4000!" >&2
|
|
exit 1
|
|
fi
|
|
|
|
if [ "x$(git status --porcelain)" != "x" ]; then
|
|
echo -n "git repo has uncommited changes. Continue anyway? (y/N) " >&2
|
|
read -n 1 YESNO
|
|
echo >&2
|
|
if [ "x$YESNO" != xy ]; then
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
case $(git rev-parse --abbrev-ref HEAD) in
|
|
master )
|
|
echo "On master branch. Will generate to /next."
|
|
CONFIG=_config_next.yml
|
|
PREFIX=/next
|
|
LABEL="preview site"
|
|
FUTURE=--future
|
|
;;
|
|
|
|
release-* )
|
|
echo "On release branch. Will generate to /."
|
|
CONFIG=_config.yml
|
|
PREFIX=
|
|
LABEL="site"
|
|
FUTURE=
|
|
;;
|
|
|
|
* )
|
|
echo "Unrecognized branch." >&2
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
echo "Regenerating site..."
|
|
|
|
rm -rf _site _site.tar.gz
|
|
|
|
jekyll build --safe $FUTURE --config $CONFIG
|
|
|
|
echo -n "Push now? (y/N)"
|
|
read -n 1 YESNO
|
|
echo
|
|
|
|
if [ "x$YESNO" == "xy" ]; then
|
|
echo "Pushing..."
|
|
tar cz --xform='s,_site/,,' _site/* | gce-ss ssh fe --command "cd /var/www/capnproto.org$PREFIX && tar xz"
|
|
else
|
|
echo "Push CANCELED"
|
|
fi
|