neocities-cache article

This commit is contained in:
veclav talica 2024-02-10 22:27:52 +05:00
parent 2ec92d2dee
commit bb479c9371

View File

@ -0,0 +1,31 @@
Title: Cached Neocities Uploads
Brief: Making uploading of directories to Neocities less painful.
Date: 1707585916
Tags: Bash
CSS: /style.css
Quick and dirty Bash-based sha256sum checksum solution to create stamps for later checking and rejection.
```bash
#!/usr/bin/bash
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
```