diff options
| author | la-ninpre <leobrekalini@gmail.com> | 2022-04-19 00:24:23 +0300 |
|---|---|---|
| committer | la-ninpre <leobrekalini@gmail.com> | 2022-04-19 00:32:37 +0300 |
| commit | 8d962aabf74c42c3afdc38f2f85fa7b06fd04ef0 (patch) | |
| tree | e5054517b940e5c535a4c7282d7faa7b6462e794 /build.sh | |
| parent | 9f4b181b36418669462c0300c2e090d0f4547dc8 (diff) | |
| download | aaoth.xyz-8d962aabf74c42c3afdc38f2f85fa7b06fd04ef0.tar.gz aaoth.xyz-8d962aabf74c42c3afdc38f2f85fa7b06fd04ef0.zip | |
reimplement website using shell scripts
major change, i know. now i'm using ssg and rssg by roman zolotarev.
okay, well, not exactly. ssg is modified to generate pages for gemini
too. it's hard to maintain two different things simultaneously.
bye-bye jekyll!
Diffstat (limited to 'build.sh')
| -rwxr-xr-x | build.sh | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..f6a63f8 --- /dev/null +++ b/build.sh @@ -0,0 +1,53 @@ +#!/bin/sh -e + +# interplanetary static site build system +# builds for both web and gemini + +# powered by ssg, rssg and lowdown +# ssg and rssg are taken from rgz.ee and ssg is slightly modified + +ssg="$PWD/bin/ssg" +rssg="$PWD/bin/rssg" + +address="https://aaoth.xyz" +title="aaoth.xyz" +feed_title="$title - feed" + +if [ -z "$AAOTH_ROOT" ]; then root="dst"; else root="$AAOTH_ROOT"; fi +if [ -z "$AAOTH_GEMROOT" ]; then gemroot="dst_gemini"; else root="$AAOTH_GEMROOT"; fi +en_src="en" +en_dst="$root" +en_gemdst="$gemroot" + +feed_file="$root/rss.xml" +feed_gemfile="$gemroot/rss.xml" + +build_site() { + $ssg "$1" "$2" "$3" "$title" "$address" + sh "$PWD/bin/gen.sh" +} + +build_rss() { + $rssg "$1/blog/index.md" "$feed_title" > "$feed_file" + cp "$feed_file" "$feed_gemfile" +} + +main() { + [ "$1" = "-f" ] && { + rm -vrf "${en_dst:?}"/* + [ -f "$en_dst/.files" ] && rm -v "$en_dst/.files" + + rm -vrf "${en_gemdst:?}"/* + [ -f "$en_gemdst/.files" ] && rm -v "$en_gemdst/.files" + } + + [ -d "$root" ] || mkdir -p "$root" + [ -d "$gemroot" ] || mkdir -p "$gemroot" + [ -d "$en_dst" ] || mkdir -p "$en_dst" + [ -d "$en_gemdst" ] || mkdir -p "$en_gemdst" + + build_site "$en_src" "$en_dst" "$en_gemdst" + build_rss "$en_src" +} + +main "$@" |
