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