forked from colonelpanic/dotfiles
[Emacs] Add github pages publishing hooks
This commit is contained in:
parent
a87da9360d
commit
d4ad629514
9
dotfiles/emacs.d/bin/git-hooks/post-commit
Executable file
9
dotfiles/emacs.d/bin/git-hooks/post-commit
Executable file
@ -0,0 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
THIS_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
source "$THIS_DIR/../util.sh"
|
||||
|
||||
if readme_was_updated; then
|
||||
update_index
|
||||
commit_index_changes
|
||||
fi
|
20
dotfiles/emacs.d/bin/install_hooks.sh
Executable file
20
dotfiles/emacs.d/bin/install_hooks.sh
Executable file
@ -0,0 +1,20 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
TOP_LEVEL="$(git rev-parse --show-toplevel)"
|
||||
HOOK_DIR="$TOP_LEVEL/.git/hooks"
|
||||
|
||||
THIS_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
SOURCE_DIR="$THIS_DIR/git-hooks"
|
||||
|
||||
for hook in "$SOURCE_DIR"/*; do
|
||||
filename=$(basename "$hook")
|
||||
source="$SOURCE_DIR/$filename"
|
||||
dest="$HOOK_DIR/$filename"
|
||||
# If the hook already exists, is executable, and is not a symlink
|
||||
if [ -e "$dest" ]; then
|
||||
mv "$dest" "$dest.local"
|
||||
fi
|
||||
echo "linking $source to $dest"
|
||||
ln -s "$source" "$dest"
|
||||
chmod 755 "$dest"
|
||||
done
|
6
dotfiles/emacs.d/bin/update_github_page.sh
Executable file
6
dotfiles/emacs.d/bin/update_github_page.sh
Executable file
@ -0,0 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
THIS_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
source "$THIS_DIR/util.sh"
|
||||
|
||||
update_index
|
20
dotfiles/emacs.d/bin/util.sh
Executable file
20
dotfiles/emacs.d/bin/util.sh
Executable file
@ -0,0 +1,20 @@
|
||||
# -*- mode: sh -*-
|
||||
EMACS_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." && pwd )"
|
||||
TOP_LEVEL="$(git rev-parse --show-toplevel)"
|
||||
README="$EMACS_DIR/README.org"
|
||||
REPOSITORY_NAME="$(realpath --relative-to="$TOP_LEVEL" "$README")"
|
||||
|
||||
readme_was_updated() {
|
||||
git diff HEAD~1 --name-only | grep --quiet "$REPOSITORY_NAME"
|
||||
}
|
||||
|
||||
update_index () {
|
||||
emacsclient -e "(with-current-buffer (find-file-noselect \"$README\")
|
||||
(org-html-export-to-html))"
|
||||
cp -f "$EMACS_DIR/README.html" "$TOP_LEVEL/index.html"
|
||||
}
|
||||
|
||||
commit_index_changes () {
|
||||
git add "$TOP_LEVEL/index.html"
|
||||
git commit -m "[Emacs] Update github pages index file"
|
||||
}
|
Loading…
Reference in New Issue
Block a user