89 lines
1.4 KiB
Bash
Executable file
89 lines
1.4 KiB
Bash
Executable file
#!/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
|