summaryrefslogtreecommitdiff
path: root/build-n-publish.sh
blob: 9ee2df9a4104d66cc025dae1741523d5ea1f7e1b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!/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"