#!/bin/sh
# Build and publish the HTML site:
haunt build && haunt publish
# Uses https://github.com/LukeEmmet/html2gmi
# Converts the site into text/gemini; outputs to ./gemini.
# There is a publisher which copies that to /home/gemini/gemini/content on the remote.
root=$(dirname $0)
remotename=functorial.xyz
remotedir=/home/gemini/gemini/content
shopt -s nullglob
rm -rf $root/gemini
mkdir $root/gemini $root/gemini/pages $root/gemini/posts $root/gemini/assets $root/gemini/assets/image
for page in $root/site/*.html; do
out=$root/gemini/$(basename $page ".html").gmi
html2gmi --input $page --output $out --emitImagesAsLinks --prettyTables --citationMarkers;
sed -i 's/\.html/.gmi/g' $out
done
for page in $root/site/pages/*.html $root/site/posts/*.html; do
out=$root/gemini/$(basename $(dirname $page))/$(basename $page ".html").gmi
html2gmi --input $page --output $out --emitImagesAsLinks --prettyTables --citationMarkers;
sed -i 's/\.html/.gmi/g' $out
done
for pic in $root/site/assets/image/*; do
cp $pic $root/gemini/assets/image/
done
cp $root/site/assets/cv.pdf $root/gemini/assets/
cp $root/site/assets/pubkey.txt $root/gemini/assets/
cp $root/site/feed.xml $root/gemini/
rsync -r gemini/* root@$remotename:$remotedir
ssh root@functorial.xyz "systemctl restart agate"