blog/build.sh

34 lines
846 B
Bash

#!/bin/sh
if ! (set -o pipefail 2>/dev/null); then
# dash does not support pipefail
set -ex
else
set -ex -o pipefail
fi
export PATH="$PATH:./node_modules/.bin"
hexo generate
if [ "$NODE_ENV" = "production" ] && [ -d "public/" ]; then
# deploy site assets
git clone --depth 1 --branch site https://gitlab.com/curben/blog.git site
cp -r site/* "public/"
rm -f "public/README.md"
# deploy microblog
git clone --depth 1 --branch microblog https://gitlab.com/curben/blog.git microblog
cd "microblog/"
export PATH="$PATH:../node_modules/.bin"
hexo generate
cat "rsync-include.txt" | while read include; do
find "public/" -path "public/$include" -type f | while read file; do
destdir="../public/$(dirname $file | sed -r 's|^public/?||')"
mkdir -p "$destdir"
cp "$file" "$destdir"
done
done
fi