mirror of
				https://github.com/cotes2020/chirpy-starter.git
				synced 2025-11-04 10:49:08 +10:00 
			
		
		
		
	Update critical file(s) according to Chirpy v4.3.0
This commit is contained in:
		
							
								
								
									
										26
									
								
								.github/workflows/pages-deploy.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										26
									
								
								.github/workflows/pages-deploy.yml
									
									
									
									
										vendored
									
									
								
							@@ -25,29 +25,5 @@ jobs:
 | 
				
			|||||||
          ruby-version: 2.7
 | 
					          ruby-version: 2.7
 | 
				
			||||||
          bundler-cache: true
 | 
					          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
 | 
					      - name: Deploy
 | 
				
			||||||
        run: |
 | 
					        run: bash tools/deploy.sh
 | 
				
			||||||
          if [[ -n $BASE_URL ]]; then
 | 
					 | 
				
			||||||
            mv _site$BASE_URL _site-rename
 | 
					 | 
				
			||||||
            rm -rf _site
 | 
					 | 
				
			||||||
            mv _site-rename _site
 | 
					 | 
				
			||||||
          fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
          bash tools/deploy.sh
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -3,11 +3,11 @@
 | 
				
			|||||||
!.git*
 | 
					!.git*
 | 
				
			||||||
!.editorconfig
 | 
					!.editorconfig
 | 
				
			||||||
!.nojekyll
 | 
					!.nojekyll
 | 
				
			||||||
 | 
					!.travis.yml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# bundler cache
 | 
					# bundler cache
 | 
				
			||||||
_site
 | 
					_site
 | 
				
			||||||
vendor
 | 
					vendor
 | 
				
			||||||
Gemfile.lock
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# rubygem
 | 
					# rubygem
 | 
				
			||||||
*.gem
 | 
					*.gem
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										12
									
								
								Gemfile
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								Gemfile
									
									
									
									
									
								
							@@ -1,11 +1,8 @@
 | 
				
			|||||||
 | 
					# frozen_string_literal: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
source "https://rubygems.org"
 | 
					source "https://rubygems.org"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
gem "jekyll-theme-chirpy", "~> 4.2", ">= 4.2.1"
 | 
					gem "jekyll-theme-chirpy", "~> 4.3", ">= 4.3.0"
 | 
				
			||||||
 | 
					 | 
				
			||||||
group :jekyll_plugins do
 | 
					 | 
				
			||||||
  # If you have any plugins, put them here!
 | 
					 | 
				
			||||||
  # gem "jekyll-xxx", "~> x.y"
 | 
					 | 
				
			||||||
end
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
group :test do
 | 
					group :test do
 | 
				
			||||||
  gem "html-proofer", "~> 3.18"
 | 
					  gem "html-proofer", "~> 3.18"
 | 
				
			||||||
@@ -20,3 +17,6 @@ end
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# Performance-booster for watching directories on Windows
 | 
					# Performance-booster for watching directories on Windows
 | 
				
			||||||
gem "wdm", "~> 0.1.1", :install_if => Gem.win_platform?
 | 
					gem "wdm", "~> 0.1.1", :install_if => Gem.win_platform?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Jekyll <= 4.2.0 compatibility with Ruby 3.0
 | 
				
			||||||
 | 
					gem "webrick", "~> 1.7"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,8 +3,8 @@
 | 
				
			|||||||
# Import the theme
 | 
					# Import the theme
 | 
				
			||||||
theme: jekyll-theme-chirpy
 | 
					theme: jekyll-theme-chirpy
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Only if your site type is GitHub Project sites and doesn't have a custom domain,
 | 
					# Change the following value to '/PROJECT_NAME' ONLY IF your site type is GitHub Pages Project sites
 | 
				
			||||||
# change below value to '/projectname'.
 | 
					# and doesn't have a custom domain.
 | 
				
			||||||
baseurl: ''
 | 
					baseurl: ''
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# The language of the webpage › http://www.lingoes.net/en/translator/langcode.htm
 | 
					# The language of the webpage › http://www.lingoes.net/en/translator/langcode.htm
 | 
				
			||||||
@@ -82,7 +82,7 @@ theme_mode:   # [light|dark]
 | 
				
			|||||||
img_cdn: ''
 | 
					img_cdn: ''
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# the avatar on sidebar, support local or CORS resources
 | 
					# 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.
 | 
					# boolean type, the global switch for ToC in posts.
 | 
				
			||||||
toc: true
 | 
					toc: true
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
-
 | 
					-
 | 
				
			||||||
  type: github
 | 
					  type: github
 | 
				
			||||||
  icon: 'fab fa-github-alt'
 | 
					  icon: 'fab fa-github'
 | 
				
			||||||
-
 | 
					-
 | 
				
			||||||
  type: twitter
 | 
					  type: twitter
 | 
				
			||||||
  icon: 'fab fa-twitter'
 | 
					  icon: 'fab fa-twitter'
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,6 @@
 | 
				
			|||||||
---
 | 
					---
 | 
				
			||||||
title: About
 | 
					title: About
 | 
				
			||||||
icon: fas fa-info
 | 
					icon: fas fa-info-circle
 | 
				
			||||||
order: 4
 | 
					order: 4
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,6 @@
 | 
				
			|||||||
---
 | 
					---
 | 
				
			||||||
layout: tags
 | 
					layout: tags
 | 
				
			||||||
title: Tags
 | 
					title: Tags
 | 
				
			||||||
icon: fas fa-tags
 | 
					icon: fas fa-tag
 | 
				
			||||||
order: 2
 | 
					order: 2
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										108
									
								
								tools/deploy.sh
									
									
									
									
									
								
							
							
						
						
									
										108
									
								
								tools/deploy.sh
									
									
									
									
									
								
							@@ -1,28 +1,80 @@
 | 
				
			|||||||
#!/usr/bin/env bash
 | 
					#!/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
 | 
					set -eu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
PAGES_BRANCH="gh-pages"
 | 
					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)"
 | 
					_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() {
 | 
					init() {
 | 
				
			||||||
  if [[ -z ${GITHUB_ACTION+x} ]]; then
 | 
					  if [[ -z ${GITHUB_ACTION+x} && $_opt_dry_run == 'false' ]]; then
 | 
				
			||||||
    echo "ERROR: This script is not allowed to run outside of GitHub Action."
 | 
					    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
 | 
					    exit -1
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # Gemfile could be changed by `bundle install` in actions workflow
 | 
					  _baseurl="$(grep '^baseurl:' _config.yml | sed "s/.*: *//;s/['\"]//g;s/#.*//")"
 | 
				
			||||||
  if [[ -n $(git ls-files | grep Gemfile.lock) && -n \
 | 
					}
 | 
				
			||||||
  $(git status Gemfile.lock --porcelain) ]]; then
 | 
					
 | 
				
			||||||
    git checkout -- Gemfile.lock
 | 
					build() {
 | 
				
			||||||
 | 
					  # clean up
 | 
				
			||||||
 | 
					  if [[ -d $SITE_DIR ]]; then
 | 
				
			||||||
 | 
					    rm -rf "$SITE_DIR"
 | 
				
			||||||
  fi
 | 
					  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
 | 
					  if [[ -z $(git branch -av | grep "$PAGES_BRANCH") ]]; then
 | 
				
			||||||
    _no_branch=true
 | 
					    _no_pages_branch=true
 | 
				
			||||||
    git checkout -b "$PAGES_BRANCH"
 | 
					    git checkout -b "$PAGES_BRANCH"
 | 
				
			||||||
  else
 | 
					  else
 | 
				
			||||||
    git checkout "$PAGES_BRANCH"
 | 
					    git checkout "$PAGES_BRANCH"
 | 
				
			||||||
@@ -30,7 +82,7 @@ init() {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
backup() {
 | 
					backup() {
 | 
				
			||||||
  mv _site/* "$_backup_dir"
 | 
					  mv "$SITE_DIR"/* "$_backup_dir"
 | 
				
			||||||
  mv .git "$_backup_dir"
 | 
					  mv .git "$_backup_dir"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # When adding custom domain from Github website,
 | 
					  # When adding custom domain from Github website,
 | 
				
			||||||
@@ -56,7 +108,7 @@ deploy() {
 | 
				
			|||||||
  git add -A
 | 
					  git add -A
 | 
				
			||||||
  git commit -m "[Automation] Site update No.${GITHUB_RUN_NUMBER}"
 | 
					  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"
 | 
					    git push -u origin "$PAGES_BRANCH"
 | 
				
			||||||
  else
 | 
					  else
 | 
				
			||||||
    git push -f
 | 
					    git push -f
 | 
				
			||||||
@@ -65,9 +117,43 @@ deploy() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
main() {
 | 
					main() {
 | 
				
			||||||
  init
 | 
					  init
 | 
				
			||||||
 | 
					  build
 | 
				
			||||||
 | 
					  test
 | 
				
			||||||
 | 
					  resume_site_dir
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if $_opt_dry_run; then
 | 
				
			||||||
 | 
					    exit 0
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  setup_gh
 | 
				
			||||||
  backup
 | 
					  backup
 | 
				
			||||||
  flush
 | 
					  flush
 | 
				
			||||||
  deploy
 | 
					  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
 | 
					main
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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
 | 
					 | 
				
			||||||
		Reference in New Issue
	
	Block a user