update deploy.sh
This commit is contained in:
parent
be2a1b0d42
commit
129c395823
49
deploy.sh
Executable file
49
deploy.sh
Executable file
@ -0,0 +1,49 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# ref: https://github.com/jekyll/jekyll
|
||||||
|
|
||||||
|
set -eu
|
||||||
|
|
||||||
|
PAGES_BRANCH="gh-pages"
|
||||||
|
|
||||||
|
init() {
|
||||||
|
if [[ -z ${GITHUB_ACTION+x}]]; then
|
||||||
|
echo "ERROR: Not allowed to deploy outside of the GitHub Action envrionment."
|
||||||
|
exit -1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
build() {
|
||||||
|
bundle exec ruby "./scaffold.rb"
|
||||||
|
|
||||||
|
mv ./_output/* ./
|
||||||
|
}
|
||||||
|
|
||||||
|
setup_gh() {
|
||||||
|
if git branch --list "$PAGES_BRANCH" > /dev/null; then
|
||||||
|
echo "Branch '$PAGES_BRANCH' exists. Deleting and recreating it..."
|
||||||
|
git branch -D "$PAGES_BRANCH" # Delete the branch
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Create and switch to the branch
|
||||||
|
git checkout -b "$PAGES_BRANCH"
|
||||||
|
}
|
||||||
|
|
||||||
|
deploy() {
|
||||||
|
git config --global user.name "ZhgChgLiBot"
|
||||||
|
git config --global user.email "no-reply@zhgchg.li"
|
||||||
|
|
||||||
|
git update-ref -d HEAD
|
||||||
|
git add -A
|
||||||
|
git commit -m "[Automation] Site update No.${GITHUB_RUN_NUMBER}"
|
||||||
|
|
||||||
|
git push -u origin "$PAGES_BRANCH"
|
||||||
|
}
|
||||||
|
|
||||||
|
main() {
|
||||||
|
init
|
||||||
|
build
|
||||||
|
setup_gh
|
||||||
|
deploy
|
||||||
|
}
|
||||||
|
|
||||||
|
main
|
@ -1,62 +0,0 @@
|
|||||||
require 'yaml'
|
|
||||||
|
|
||||||
class Config
|
|
||||||
attr_reader :theme, :title, :avatar, :name, :tagline, :links, :social, :footer
|
|
||||||
|
|
||||||
class Link
|
|
||||||
attr_reader :title, :url, :target, :alt
|
|
||||||
|
|
||||||
def initialize(title, url, target, alt)
|
|
||||||
@title = title
|
|
||||||
@url = url
|
|
||||||
@target = target
|
|
||||||
@alt = alt
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
class Social
|
|
||||||
attr_reader :type, :data
|
|
||||||
|
|
||||||
def initialize(social)
|
|
||||||
@type = social.keys
|
|
||||||
@data = social.values
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def initialize(file_path = 'config.yml')
|
|
||||||
if File.exist?(file_path)
|
|
||||||
config = YAML.load_file(file_path)
|
|
||||||
puts "#{file_path} loaded successfully."
|
|
||||||
else
|
|
||||||
raise "Error: #{file_path} not found."
|
|
||||||
end
|
|
||||||
|
|
||||||
settings = YAML.load_file(file_path) || {}
|
|
||||||
|
|
||||||
@theme = settings["theme"] || "default"
|
|
||||||
@title = settings["title"]
|
|
||||||
@avatar = settings["avatar"]
|
|
||||||
@name = settings["name"]
|
|
||||||
@tagline = settings["tagline"]
|
|
||||||
@footer = settings["footer"]
|
|
||||||
|
|
||||||
links = []
|
|
||||||
if !settings["links"].nil?
|
|
||||||
settings["links"].each do |link|
|
|
||||||
links.push(Link.new(link["link"]["title"], link["link"]["url"], link["link"]["target"], link["link"]["alt"]))
|
|
||||||
end
|
|
||||||
end
|
|
||||||
@links = links
|
|
||||||
|
|
||||||
socials = []
|
|
||||||
if !settings["socials"].nil?
|
|
||||||
settings["socials"].each do |social|
|
|
||||||
socials.push(Social.new(social))
|
|
||||||
end
|
|
||||||
end
|
|
||||||
@socials = socials
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
end
|
|
||||||
end
|
|
Loading…
x
Reference in New Issue
Block a user