#!/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"