mirror of
https://github.com/cotes2020/jekyll-theme-chirpy.git
synced 2025-12-18 05:41:31 +00:00
Added new tools and workflow.
This commit is contained in:
43
tools/deploy.sh
Executable file
43
tools/deploy.sh
Executable file
@@ -0,0 +1,43 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Deploy the content of _site to 'origin/<pages_branch>'
|
||||
#
|
||||
# v2.5
|
||||
# https://github.com/cotes2020/jekyll-theme-chirpy
|
||||
# © 2020 Cotes Chung
|
||||
# Published under MIT License
|
||||
|
||||
|
||||
set -eu
|
||||
|
||||
PAGES_BRANCH="gh-pages"
|
||||
|
||||
_no_branch=false
|
||||
|
||||
if [[ -z `git branch -av | grep $PAGES_BRANCH` ]]; then
|
||||
_no_branch=true
|
||||
git checkout -b $PAGES_BRANCH
|
||||
else
|
||||
git checkout $PAGES_BRANCH
|
||||
fi
|
||||
|
||||
mv _site ../
|
||||
mv .git ../
|
||||
|
||||
rm -rf * && rm -rf .[^.] .??*
|
||||
|
||||
mv ../_site/* .
|
||||
mv ../.git .
|
||||
|
||||
git config --global user.name "GitHub Actions"
|
||||
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
||||
|
||||
git update-ref -d HEAD
|
||||
git add -A
|
||||
git commit -m "[Automation] Site update No.${GITHUB_RUN_NUMBER}"
|
||||
|
||||
if [[ $_no_branch = true ]]; then
|
||||
git push -u origin $PAGES_BRANCH
|
||||
else
|
||||
git push -f
|
||||
fi
|
||||
89
tools/init.sh
Executable file
89
tools/init.sh
Executable file
@@ -0,0 +1,89 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Init the evrionment for new user.
|
||||
#
|
||||
# v2.5
|
||||
# https://github.com/cotes2020/jekyll-theme-chirpy
|
||||
# © 2020 Cotes Chung
|
||||
# Published under MIT License
|
||||
|
||||
set -eu
|
||||
|
||||
|
||||
ACTIONS_WORKFLOW=pages-deploy.yml
|
||||
|
||||
help() {
|
||||
echo "Usage:"
|
||||
echo
|
||||
echo " bash /path/to/init.sh [options]"
|
||||
echo
|
||||
echo "Options:"
|
||||
echo " --no-gh Do not deploy to Github."
|
||||
echo " -h, --help Print this help information."
|
||||
}
|
||||
|
||||
check_init() {
|
||||
local _has_inited=false
|
||||
|
||||
if [[ -d .github ]]; then
|
||||
if [[ -f .github/workflows/$ACTIONS_WORKFLOW
|
||||
&& $(find .github/workflows/ -type f -name "*.yml" | wc -l) == 1 ]]; then
|
||||
_has_inited=true
|
||||
fi
|
||||
else
|
||||
_has_inited=true
|
||||
fi
|
||||
|
||||
if [[ $_has_inited = true ]]; then
|
||||
echo "Already initialized."
|
||||
exit 0
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
init_files() {
|
||||
|
||||
if [[ $_no_gh = true ]]; then
|
||||
rm -rf .github
|
||||
else
|
||||
mv .github/workflows/$ACTIONS_WORKFLOW.hook .
|
||||
rm -rf .github
|
||||
mkdir -p .github/workflows
|
||||
mv ./${ACTIONS_WORKFLOW}.hook .github/workflows/${ACTIONS_WORKFLOW}
|
||||
fi
|
||||
|
||||
rm -f .travis.yml
|
||||
rm -rf _posts/* docs
|
||||
|
||||
git add -A && git add .github -f
|
||||
git commit -m "[Automation] Initialize the environment." -q
|
||||
|
||||
echo "[INFO] Initialization successful!"
|
||||
}
|
||||
|
||||
|
||||
check_init
|
||||
|
||||
_no_gh=false
|
||||
|
||||
while (( $# ))
|
||||
do
|
||||
opt="$1"
|
||||
case $opt in
|
||||
--no-gh)
|
||||
_no_gh=true
|
||||
shift
|
||||
;;
|
||||
-h|--help)
|
||||
help
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
# unknown option
|
||||
help
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
init_files
|
||||
Reference in New Issue
Block a user