update git hook 'pre-commit' to select between YAML or TOML frontmatter

main
Dominic Reich 1 year ago
parent db1e3ff33b
commit 8d06534e7b
Signed by: dominic
GPG Key ID: BC9D6AE1A3BE169A

@ -2,9 +2,13 @@
# Contents of .git/hooks/pre-commit
# Replace `last_modified_at` timestamp with current time
# https://mademistakes.com/notes/adding-last-modified-timestamps-with-git/
# enhanced the script to either update the YAML or TOML frontmatter (as i used both O_o)
git diff --cached --name-status | egrep -i "^(A|M).*\.(md)$" | while read a b; do
cat $b | sed "/---.*/,/---.*/s/^lastmod:.*$/lastmod: $(date -u "+%Y-%m-%dT%H:%M:%S%z")/" > tmp
# YAML or TOML frontmatter?
(egrep "^---$" $b > /dev/null) && (cat $b | sed "/---.*/,/---.*/s/^lastmod:.*$/lastmod: $(date -u "+%Y-%m-%dT%H:%M:%S%z")/" > tmp)
(egrep "^\+\+\+$" $b > /dev/null) && (cat $b | sed "/+++.*/,/+++.*/s/^lastmod.*$/lastmod = '$(date -u "+%Y-%m-%dT%H:%M:%S%z")'/" > tmp)
mv tmp $b
git add $b
done

Loading…
Cancel
Save