#!/usr/bin/env bash set +e for arg in "$*" do case "$arg" in "--fresh") find ./html/ -type f -name '*.upload-checksum' -delete ;; esac done for cur in ./html/{*,*/*,*/*/*}; do if [ -f "$cur" ] && [[ ! "$cur" == *.upload-checksum ]]; then if [ -f "$cur.upload-checksum" ]; then c=$(cat "$cur.upload-checksum" | sha256sum -c 2> /dev/null) if [[ "$c" == *OK ]]; then echo "$cur is up-to-date, skipping" continue fi fi echo $(sha256sum "$cur") > "$cur.upload-checksum" d=$(dirname $(realpath --relative-to="./html" "$cur")) if [[ "$d" == "." ]]; then neocities upload $cur else neocities upload -d $(dirname $(realpath --relative-to="./html" "$cur")) $cur fi fi done