Update critical file(s) according to Chirpy v4.3.0

This commit is contained in:
Travis-CI
2021-09-29 20:03:26 +00:00
parent c2a7480e65
commit ff41859240
9 changed files with 111 additions and 116 deletions

View File

@ -1,28 +1,80 @@
#!/usr/bin/env bash
#
# Deploy the content of _site to 'origin/<pages_branch>'
# Build, test and then deploy the site content to 'origin/<pages_branch>'
#
# Requirement: html-proofer, jekyll
#
# Usage: See help information
set -eu
PAGES_BRANCH="gh-pages"
_no_branch=false
SITE_DIR="_site"
_opt_dry_run=false
_config="_config.yml"
_no_pages_branch=false
_backup_dir="$(mktemp -d)"
_baseurl=""
help() {
echo "Build, test and then deploy the site content to 'origin/<pages_branch>'"
echo
echo "Usage:"
echo
echo " bash ./tools/deploy.sh [options]"
echo
echo "Options:"
echo ' -c, --config "<config_a[,config_b[...]]>" Specify config file(s)'
echo " --dry-run Build site and test, but not deploy"
echo " -h, --help Print this information."
}
init() {
if [[ -z ${GITHUB_ACTION+x} ]]; then
echo "ERROR: This script is not allowed to run outside of GitHub Action."
if [[ -z ${GITHUB_ACTION+x} && $_opt_dry_run == 'false' ]]; then
echo "ERROR: It is not allowed to deploy outside of the GitHub Action envrionment."
echo "Type option '-h' to see the help information."
exit -1
fi
# Gemfile could be changed by `bundle install` in actions workflow
if [[ -n $(git ls-files | grep Gemfile.lock) && -n \
$(git status Gemfile.lock --porcelain) ]]; then
git checkout -- Gemfile.lock
_baseurl="$(grep '^baseurl:' _config.yml | sed "s/.*: *//;s/['\"]//g;s/#.*//")"
}
build() {
# clean up
if [[ -d $SITE_DIR ]]; then
rm -rf "$SITE_DIR"
fi
# build
JEKYLL_ENV=production bundle exec jekyll b -d "$SITE_DIR$_baseurl" --config "$_config"
}
test() {
bundle exec htmlproofer \
--disable-external \
--check-html \
--allow_hash_href \
"$SITE_DIR"
}
resume_site_dir() {
if [[ -n $_baseurl ]]; then
# Move the site file to the regular directory '_site'
mv "$SITE_DIR$_baseurl" "${SITE_DIR}-rename"
rm -rf "$SITE_DIR"
mv "${SITE_DIR}-rename" "$SITE_DIR"
fi
}
setup_gh() {
if [[ -z $(git branch -av | grep "$PAGES_BRANCH") ]]; then
_no_branch=true
_no_pages_branch=true
git checkout -b "$PAGES_BRANCH"
else
git checkout "$PAGES_BRANCH"
@ -30,7 +82,7 @@ init() {
}
backup() {
mv _site/* "$_backup_dir"
mv "$SITE_DIR"/* "$_backup_dir"
mv .git "$_backup_dir"
# When adding custom domain from Github website,
@ -56,7 +108,7 @@ deploy() {
git add -A
git commit -m "[Automation] Site update No.${GITHUB_RUN_NUMBER}"
if $_no_branch; then
if $_no_pages_branch; then
git push -u origin "$PAGES_BRANCH"
else
git push -f
@ -65,9 +117,43 @@ deploy() {
main() {
init
build
test
resume_site_dir
if $_opt_dry_run; then
exit 0
fi
setup_gh
backup
flush
deploy
}
while (($#)); do
opt="$1"
case $opt in
-c | --config)
_config="$2"
shift
shift
;;
--dry-run)
# build & test, but not deploy
_opt_dry_run=true
shift
;;
-h | --help)
help
exit 0
;;
*)
# unknown option
help
exit 1
;;
esac
done
main

View File

@ -1,67 +0,0 @@
#!/usr/bin/env bash
#
# Using HTML-proofer to test site.
#
# Requirement: https://github.com/gjtorikian/html-proofer
#
# Usage: bash /path/to/test.sh [indicated path]
DEST=_site
URL_IGNORE=cdn.jsdelivr.net
_build=false
help() {
echo "Usage:"
echo
echo " bash ./tools/test.sh [options]"
echo
echo "Options:"
echo " --build Run Jekyll build before test."
echo " -d, --dir <path> Specify the test path."
echo " -h, --help Print this information."
}
if [[ -n $1 && -d $1 ]]; then
DEST=$1
fi
while (($#)); do
opt="$1"
case $opt in
--build)
_build=true
shift
;;
-d | --dir)
if [[ ! -d $2 ]]; then
echo -e "Error: path '$2' doesn't exist\n"
help
exit 1
fi
DEST=$2
shift
shift
;;
-h | --help)
help
exit 0
;;
*)
# unknown option
help
exit 1
;;
esac
done
if $_build; then
JEKYLL_ENV=production bundle exec jekyll b
fi
bundle exec htmlproofer "$DEST" \
--disable-external \
--check-html \
--empty_alt_ignore \
--allow_hash_href \
--url_ignore $URL_IGNORE