all repos — aaoth.xyz @ 5c4851559b83a439c31ab742ea3dc7b5fc2cfb06

aaoth.xyz website

build.sh (view raw)

 1#!/bin/sh -e
 2
 3# interplanetary static site build system
 4# builds for both web and gemini
 5
 6# powered by ssg, rssg and lowdown
 7# ssg and rssg are taken from rgz.ee and ssg is slightly modified
 8
 9ssg="$PWD/bin/ssg"
10rssg="$PWD/bin/rssg"
11
12address="https://aaoth.xyz"
13title="aaoth.xyz"
14feed_title="$title - feed"
15
16if [ -z "$AAOTH_ROOT" ]; then root="dst"; else root="$AAOTH_ROOT"; fi
17if [ -z "$AAOTH_GEMROOT" ]; then gemroot="dst_gemini"; else gemroot="$AAOTH_GEMROOT"; fi
18en_src="en"
19en_dst="$root"
20en_gemdst="$gemroot"
21
22feed_file="$root/rss.xml"
23feed_gemfile="$gemroot/rss.xml"
24
25build_site() {
26	$ssg "$1" "$2" "$3" "$title" "$address"
27    sh "$PWD/bin/gen.sh"
28}
29
30build_rss() {
31	$rssg "$1/blog/index.md" "$feed_title" > "$feed_file"
32    cp "$feed_file" "$feed_gemfile"
33}
34
35main() {
36	[ "$1" = "-f" ] && {
37	    rm -vrf "${en_dst:?}"/*
38	    [ -f "$en_dst/.files" ] && rm -v "$en_dst/.files"
39
40        rm -vrf "${en_gemdst:?}"/*
41        [ -f "$en_gemdst/.files" ] && rm -v "$en_gemdst/.files"
42	}
43
44    [ -d "$root" ] || mkdir -p "$root"
45    [ -d "$gemroot" ] || mkdir -p "$gemroot"
46    [ -d "$en_dst" ] || mkdir -p "$en_dst"
47    [ -d "$en_gemdst" ] || mkdir -p "$en_gemdst"
48
49	build_site "$en_src" "$en_dst" "$en_gemdst"
50	build_rss "$en_src"
51}
52
53main "$@"