peter-tanner.github.io/push.sh
2023-08-06 22:12:27 +08:00

34 lines
801 B
Bash
Executable File

#!/bin/bash
get_new_posts() {
git status --porcelain=v1 _posts | grep -E '^\?\?' | cut -d ' ' -f 2 | tr '\n' ' '
}
# Function to generate the commit message
generate_commit_message() {
printf "New posts: "
get_new_posts
}
commit_msg="$(generate_commit_message)"
new_posts="$(get_new_posts)"
# Check if there are any new or modified files to commit
if [ -n "$new_posts" ]; then
# Add all new and modified files
echo "$commit_msg"
git add $new_posts
for post in $new_posts; do
echo $post
post="${post#_posts/}"
git add "assets/img/${post%.md}"
done
Commit the changes with the generated message
git commit -m "$commit_msg"
git push
echo "Changes committed successfully."
else
echo "No new or modified files to commit."
fi