#!/bin/ksh -eu f='sitemap.xml' test $# -ne 2 && { echo "$f" && exit; } SRC="$1" DST="$2" dst_pages=$(find "$DST" -type f -name '*.html') if test -z "$dst_pages"; then exit; fi diff_lines() { diff <(printf "%s\n" "$1") <(printf "%s\n" "$2") || :; } if test -f "$DST/.ssg.dst"; then exit; fi dst_pages_was=$(cut -d' ' -f2 "$DST/.ssg.dst" | grep '.html') dst_pages_updated=$(diff_lines "$dst_pages_was" "$dst_pages") if test -z "$dst_pages_updated"; then exit; fi site=$(basename "$SRC") { echo ' ' echo "$dst_pages" | sed -E ' s,^$,, s,^'"$DST"',, s,index.html$,, s,^(.*)$, https://'"$site"'\1,' echo '' } >"$DST/$f" echo "$f"