From dbcec87682afbb2d2bcb3fbeb397a94441a1f8cd Mon Sep 17 00:00:00 2001 From: Christian Cleberg Date: Fri, 24 Jan 2025 20:26:20 -0600 Subject: add more git hooks --- utils/hooks/post-commit | 16 ++++++++++++++-- utils/hooks/post-push | 29 +++++++++++++++++++++++++++++ utils/hooks/pre-commit | 8 ++++++++ 3 files changed, 51 insertions(+), 2 deletions(-) create mode 100644 utils/hooks/post-push create mode 100644 utils/hooks/pre-commit (limited to 'utils') diff --git a/utils/hooks/post-commit b/utils/hooks/post-commit index d950da6..3064dc6 100644 --- a/utils/hooks/post-commit +++ b/utils/hooks/post-commit @@ -1,4 +1,16 @@ # .git/hooks/post-commit #!/bin/bash -echo "Commit added:" -git show --stat +echo "Environment: Development" + +# Remove previous build +rm -rf .build/* + +# Run publishing script +emacs --script publish.el + +# Minify CSS +minify -o theme/static/styles.min.css theme/static/styles.css + +# Launch development web server +cd .build/ +python3 -m http.server diff --git a/utils/hooks/post-push b/utils/hooks/post-push new file mode 100644 index 0000000..4193037 --- /dev/null +++ b/utils/hooks/post-push @@ -0,0 +1,29 @@ +# .git/hooks/post-push +#!/bin/bash +echo "Environment: Production" + +# Check if publishing via LAN or remotely +printf "Publishing on remote or LAN? [r|l] " + +# Update ubuntu_server variable based on answer +read method +if [[ "$method" =~ ^[Rr]$ ]]; then + ubuntu_server="ubuntu-remote" +elif [[ "$method" =~ ^[Ll]$ ]]; then + ubuntu_server="ubuntu" +else + echo "Invalid input. Assuming LAN (ubuntu)" + ubuntu_server="ubuntu" +fi + +# Remove previous build +rm -rf .build/* + +# Run publishing script +emacs --script publish.el &>/dev/null + +# Minify CSS +minify -o theme/static/styles.min.css theme/static/styles.css + +# Deploy changes +rsync -r --delete-before .build/* $ubuntu_server:/var/www/cleberg.net/ diff --git a/utils/hooks/pre-commit b/utils/hooks/pre-commit new file mode 100644 index 0000000..69883fc --- /dev/null +++ b/utils/hooks/pre-commit @@ -0,0 +1,8 @@ +# .git/hooks/pre-commit +#!/bin/bash +for file in $(git diff --cached --name-only | grep -E '\.org$'); do + if ! grep -q "^#\+TITLE:" "$file"; then + echo "Error: $file is missing a TITLE." + exit 1 + fi +done -- cgit v1.2.3-70-g09d2