update deploy.sh

This commit is contained in:
app-harry 2024-10-26 23:59:10 +08:00
parent be2a1b0d42
commit 129c395823
3 changed files with 49 additions and 62 deletions

BIN
.DS_Store vendored

Binary file not shown.

49
deploy.sh Executable file
View 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

View File

@ -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