Skip to content

Commit

Permalink
Update critical file(s) according to Chirpy v4.3.0
Browse files Browse the repository at this point in the history
  • Loading branch information
traviscibot committed Sep 29, 2021
1 parent c2a7480 commit ff41859
Show file tree
Hide file tree
Showing 9 changed files with 111 additions and 116 deletions.
26 changes: 1 addition & 25 deletions .github/workflows/pages-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,29 +25,5 @@ jobs:
ruby-version: 2.7
bundler-cache: true

- name: Check baseurl
run: |
baseurl="$(grep '^baseurl:' _config.yml | sed "s/.*: *//;s/['\"]//g;s/#.*//")"
if [[ -n $baseurl ]]; then
echo "BASE_URL=$baseurl" >> $GITHUB_ENV
fi
- name: Build Site
env:
JEKYLL_ENV: production
run: |
bundle exec jekyll b -d "_site$BASE_URL"
- name: Test Site
run: |
bash tools/test.sh
- name: Deploy
run: |
if [[ -n $BASE_URL ]]; then
mv _site$BASE_URL _site-rename
rm -rf _site
mv _site-rename _site
fi
bash tools/deploy.sh
run: bash tools/deploy.sh
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@
!.git*
!.editorconfig
!.nojekyll
!.travis.yml

# bundler cache
_site
vendor
Gemfile.lock

# rubygem
*.gem
Expand Down
12 changes: 6 additions & 6 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -1,11 +1,8 @@
source "https://rubygems.org"
# frozen_string_literal: true

gem "jekyll-theme-chirpy", "~> 4.2", ">= 4.2.1"
source "https://rubygems.org"

group :jekyll_plugins do
# If you have any plugins, put them here!
# gem "jekyll-xxx", "~> x.y"
end
gem "jekyll-theme-chirpy", "~> 4.3", ">= 4.3.0"

group :test do
gem "html-proofer", "~> 3.18"
Expand All @@ -20,3 +17,6 @@ end

# Performance-booster for watching directories on Windows
gem "wdm", "~> 0.1.1", :install_if => Gem.win_platform?

# Jekyll <= 4.2.0 compatibility with Ruby 3.0
gem "webrick", "~> 1.7"
6 changes: 3 additions & 3 deletions _config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
# Import the theme
theme: jekyll-theme-chirpy

# Only if your site type is GitHub Project sites and doesn't have a custom domain,
# change below value to '/projectname'.
# Change the following value to '/PROJECT_NAME' ONLY IF your site type is GitHub Pages Project sites
# and doesn't have a custom domain.
baseurl: ''

# The language of the webpage › http://www.lingoes.net/en/translator/langcode.htm
Expand Down Expand Up @@ -82,7 +82,7 @@ theme_mode: # [light|dark]
img_cdn: ''

# the avatar on sidebar, support local or CORS resources
avatar: https://cdn.jsdelivr.net/gh/cotes2020/chirpy-images/commons/avatar.jpg
avatar: ''

# boolean type, the global switch for ToC in posts.
toc: true
Expand Down
2 changes: 1 addition & 1 deletion _data/contact.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

-
type: github
icon: 'fab fa-github-alt'
icon: 'fab fa-github'
-
type: twitter
icon: 'fab fa-twitter'
Expand Down
2 changes: 1 addition & 1 deletion _tabs/about.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: About
icon: fas fa-info
icon: fas fa-info-circle
order: 4
---

Expand Down
2 changes: 1 addition & 1 deletion _tabs/tags.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
layout: tags
title: Tags
icon: fas fa-tags
icon: fas fa-tag
order: 2
---
108 changes: 97 additions & 11 deletions tools/deploy.sh
Original file line number Diff line number Diff line change
@@ -1,36 +1,88 @@
#!/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"
fi
}

backup() {
mv _site/* "$_backup_dir"
mv "$SITE_DIR"/* "$_backup_dir"
mv .git "$_backup_dir"

# When adding custom domain from Github website,
Expand All @@ -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
Expand All @@ -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
67 changes: 0 additions & 67 deletions tools/test.sh

This file was deleted.

0 comments on commit ff41859

Please # to comment.