32 lines
1.0 KiB
Bash
32 lines
1.0 KiB
Bash
#!/usr/bin/env bash
|
|
# install-hooks.sh — install git hooks for this repo.
|
|
# Called automatically by setup.sh; safe to re-run.
|
|
# Usage: bash scripts/install-hooks.sh
|
|
|
|
set -euo pipefail
|
|
|
|
REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
HOOKS_DIR="$REPO_ROOT/.git/hooks"
|
|
|
|
if [[ ! -d "$HOOKS_DIR" ]]; then
|
|
echo "ERROR: .git/hooks directory not found. Are you in a git repo?"
|
|
exit 1
|
|
fi
|
|
|
|
# ── post-push: sync markdown docs to WikiJS ───────────────────────────────────
|
|
POST_PUSH="$HOOKS_DIR/post-push"
|
|
|
|
cat > "$POST_PUSH" << 'EOF'
|
|
#!/usr/bin/env bash
|
|
# post-push hook — sync markdown files to WikiJS after every push.
|
|
cd "$(git rev-parse --show-toplevel)"
|
|
if command -v python3 &>/dev/null; then
|
|
python3 tools/publish_docs.py || echo "[wikijs] publish failed — run manually: python3 tools/publish_docs.py"
|
|
else
|
|
echo "[wikijs] python3 not found — skipping doc sync"
|
|
fi
|
|
EOF
|
|
|
|
chmod +x "$POST_PUSH"
|
|
echo " Installed post-push hook → $POST_PUSH"
|
|
|