dnes: trigger auto-sync to konzdat on each entry via post-commit hook

This commit is contained in:
2026-11-05 23:27:16 +01:00
parent 4d62a93e7b
commit d5df724dd2
2 changed files with 43 additions and 0 deletions
+33
View File
@@ -0,0 +1,33 @@
#!/usr/bin/env bash
# dnes-konzdat-sync: Automatically rebuilds and deploys Konzdat whenever ~/src/dnes updates
set -euo pipefail
LOCK_FILE="/tmp/dnes-konzdat-sync.lock"
exec 201>"$LOCK_FILE"
if ! flock -n 201; then
exit 0
fi
KONZDAT_DIR="$HOME/src/konzdat"
SAMIZDAT_BIN="$KONZDAT_DIR/bin/samizdat"
if [ ! -x "$SAMIZDAT_BIN" ]; then
exit 0
fi
WEEK_NUM=$(date +%-V)
ISSUE_CODE="W$WEEK_NUM"
echo "[dnes-konzdat-sync] Updating Konzdat ($ISSUE_CODE) from latest dnes entries..."
cd "$KONZDAT_DIR"
"$SAMIZDAT_BIN" build "$ISSUE_CODE" >/dev/null 2>&1 || true
# Commit and push to boxC if there are changes
git add -A >/dev/null 2>&1 || true
if ! git diff-index --quiet HEAD -- 2>/dev/null; then
NOW_STR=$(date '+%Y-%m-%d %H:%M:%S')
git commit -m "dnes-sync($ISSUE_CODE): auto-update from dnes journal [$NOW_STR]" >/dev/null 2>&1 || true
git push origin main >/dev/null 2>&1 || true
echo "[dnes-konzdat-sync] Successfully synchronized and deployed to http://pešek.com/konzdat/"
fi