update_docs.sh
#!/usr/bin/env bash
git checkout main
git fetch
stash_created=0
if [[ "$(git diff --stat)" != "" ]]; then
stash_created=1
git stash push -u -a -m "Before updating docs"
fi;
git pull --rebase
bundle install
bin/rake yard
git checkout gh-pages
if [[ "$(git branch | grep \* | cut -d ' ' -f2)" != "gh-pages" ]]; then
git checkout -b gh-pages
fi;
echo "Cleaning up current documentation"
find . ! -path '*/.git*' ! -path '*/doc*' ! -path '*/vendor/bundle*' ! -path '*/gemfiles/vendor*' ! -path '*/update_docs.sh*' ! -path '*/_config.yml*' ! -path '*/_index.html*' ! -path '.' | xargs rm -rf
echo "Copying new documentation"
mv doc/* ./
echo "Sending new documentation to github"
git add --all
git commit -a -m 'Update documentation'
git push --set-upstream origin gh-pages --force
if [[ $stash_created == 1 ]]; then
git stash pop
fi;
git checkout main
bundle install