#!/bin/sh set -e -a : ${SRC:=$PWD/src} : ${DST:=./website} : ${URL:=https://syndamia.com} : ${AWK:="mawk"} condition() { if [ -z "$FORCE_GEN" ] \ && [ -d "$DST" ] \ && [ -f "$DST/.commit" ] \ && command -v git >/dev/null 2>&1 \ && [ -z "$(git status -s)" ] \ && [ "$(cat "$DST"/.commit)" = "$(git rev-parse HEAD)" ] then echo "Output '$DST' is up to date with website source '$SRC'!" exit 0 fi } patch() { while read -r folder do if [ -f "$folder.du" ] && [ ! "$folder.du" -ef "$folder/index.du" ] then rm "$folder/index.du" >/dev/null 2>&1 ln "$folder.du" "$folder/index.du" fi done << EOF $(find "$SRC" -maxdepth 1 -type d) EOF if [ ! "src/favicon.ico" -ef "src/img/favicon.ico" ] then rm "src/favicon.ico" >/dev/null 2>&1 ln "src/img/favicon.ico" "src/favicon.ico" fi } prepare() { mkdir -p "$DST" rm -r "$DST"/* 2>/dev/null || true cp -a "$SRC/." "$DST" rm "$DST/INIT.du" } build() { "$AWK" \ -f ./dunbar/dunbar_awk/dunbar.awk \ ./dunbar/stdenv/lang/html.du ./dunbar/stdenv/code.du \ -c "$SRC/INIT.du" \ $(find "$DST" -type f -name '*.du') date '+%e.%m.%Y %H:%M:%S %Z' > "$DST"/.build if command -v git >/dev/null 2>&1 then git rev-parse HEAD > "$DST"/.commit fi } build_sitemap() { cat <"$DST"/sitemap.xml $("$AWK" -v date="$(date +%Y-%m-%d)" ' { URL = ENVIRON["URL"] substr($0, length(ENVIRON["DST"]) + 1) print "" URL "" date "1.0" } ' < SITEMAP } build_tiny() { mkdir -p "$DST.tiny" rm -r "$DST.tiny"/* 2>/dev/null || true cp -a "$DST/." "$DST.tiny" rm -rf "$DST.tiny"/*.css "$DST.tiny"/fonts/ sed -i \ -e '/rel="stylesheet"/d' \ -e '/