Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
98683d628a |
@@ -1,3 +0,0 @@
|
|||||||
# These are supported funding model platforms
|
|
||||||
|
|
||||||
buy_me_a_coffee: zhgchgli
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
name: 'Automatic build'
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
paths-ignore:
|
|
||||||
- .gitignore
|
|
||||||
- README.md
|
|
||||||
- LICENSE
|
|
||||||
workflow_dispatch:
|
|
||||||
schedule:
|
|
||||||
- cron: '0 0 * * *' # Runs daily at midnight (00:00 UTC)
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
continuous-delivery:
|
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
|
|
||||||
- name: Setup Ruby
|
|
||||||
uses: ruby/setup-ruby@v1
|
|
||||||
with:
|
|
||||||
ruby-version: 3.4.2
|
|
||||||
bundler-cache: true
|
|
||||||
|
|
||||||
- name: Deploy
|
|
||||||
run: bash deploy.sh
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
_output
|
|
||||||
!/_output/AUTO_GEN_FOLDER_DO_NOT_EDIT_FILE_HERE
|
|
||||||
.DS_Store
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
3.4.2
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
source 'https://rubygems.org'
|
|
||||||
|
|
||||||
gem 'bigdecimal'
|
|
||||||
gem 'base64'
|
|
||||||
gem 'yaml', '~> 0.3'
|
|
||||||
gem 'liquid', '~> 5.5'
|
|
||||||
gem 'nokogiri', '>= 1.18.4'
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
GEM
|
|
||||||
remote: https://rubygems.org/
|
|
||||||
specs:
|
|
||||||
base64 (0.2.0)
|
|
||||||
bigdecimal (3.1.9)
|
|
||||||
liquid (5.5.1)
|
|
||||||
mini_portile2 (2.8.7)
|
|
||||||
nokogiri (1.18.5)
|
|
||||||
mini_portile2 (~> 2.8.2)
|
|
||||||
racc (~> 1.4)
|
|
||||||
racc (1.8.1)
|
|
||||||
yaml (0.3.0)
|
|
||||||
|
|
||||||
PLATFORMS
|
|
||||||
ruby
|
|
||||||
|
|
||||||
DEPENDENCIES
|
|
||||||
base64
|
|
||||||
bigdecimal
|
|
||||||
liquid (~> 5.5)
|
|
||||||
nokogiri (>= 1.18.4)
|
|
||||||
yaml (~> 0.3)
|
|
||||||
|
|
||||||
BUNDLED WITH
|
|
||||||
2.6.6
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2024 ZhgChgLi
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
# Elizabeth's Link Page
|
|
||||||
|
|
||||||
Built with [Linkyee](https://github.com/ZhgCH/Linkyee)
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
The files in this folder (./_output) are auto-generated. Do not edit any files here.
|
|
||||||
@@ -1,86 +0,0 @@
|
|||||||
# Site Config
|
|
||||||
|
|
||||||
theme: default
|
|
||||||
lang: "en"
|
|
||||||
|
|
||||||
title: "Elizabeth Cray"
|
|
||||||
|
|
||||||
avatar: "./images/profile.jpeg"
|
|
||||||
|
|
||||||
name: "Elizabeth Cray"
|
|
||||||
|
|
||||||
tagline: "Full-stack developer by day, analog photographer by night."
|
|
||||||
|
|
||||||
links:
|
|
||||||
- link:
|
|
||||||
icon: "fa-solid fa-person"
|
|
||||||
text: "Pronouns Page"
|
|
||||||
url: "https://en.pronouns.page/@hackerLiz"
|
|
||||||
alt: "Elizabeth's pronoun and details page"
|
|
||||||
title: "Elizabeth's Pronouns Profile"
|
|
||||||
target: "_blank"
|
|
||||||
- link:
|
|
||||||
icon: "fa-brands fa-bluesky"
|
|
||||||
text: "Bluesky"
|
|
||||||
url: "https://bsky.app/profile/cray.gay"
|
|
||||||
alt: "Elizabeth's Bluesky profile"
|
|
||||||
title: "Bluesky Profile"
|
|
||||||
target: "_blank"
|
|
||||||
- link:
|
|
||||||
icon: "fa-brands fa-linkedin"
|
|
||||||
text: "Linkedin"
|
|
||||||
url: "https://linkedin.com/in/lizcray"
|
|
||||||
alt: "Elizabeth's Linkedin"
|
|
||||||
title: "Elizabeth's Linkedin"
|
|
||||||
target: "_blank"
|
|
||||||
- link:
|
|
||||||
icon: "fa-brands fa-mastodon"
|
|
||||||
text: "Mastodon"
|
|
||||||
url: "https://masto.hackers.town/@liz"
|
|
||||||
alt: "Elizabeth's Hackers Town Mastodon Profile"
|
|
||||||
title: "Elizabeth's Mastodon"
|
|
||||||
target: "_blank"
|
|
||||||
- link:
|
|
||||||
icon: "fa-brands fa-discord"
|
|
||||||
text: "Discord"
|
|
||||||
url: "https://discord.com/channels/@me/172886870110371849"
|
|
||||||
alt: "Elizabeth's Discord Account"
|
|
||||||
title: "Elizabeth's Discord"
|
|
||||||
target: "_blank"
|
|
||||||
- link:
|
|
||||||
icon: "fa-brands fa-git-alt"
|
|
||||||
text: "Git"
|
|
||||||
url: "https://git.corrupt.link/liz"
|
|
||||||
alt: "Elizabeth's Gitea Page"
|
|
||||||
title: "Elizabeth's Gitea"
|
|
||||||
target: "_blank"
|
|
||||||
- link:
|
|
||||||
icon: "fa-solid fa-shuttle-space"
|
|
||||||
text: "Gemini Blog"
|
|
||||||
url: "gemini://gemini.hackers.town/liz/"
|
|
||||||
alt: "Elizabeth's Gemini Blog"
|
|
||||||
title: "Elizabeth's Gemini Blog"
|
|
||||||
target: "_blank"
|
|
||||||
- link:
|
|
||||||
icon: "fa-solid fa-envelope"
|
|
||||||
text: "Email"
|
|
||||||
url: "mailto:liz@corrupt.link"
|
|
||||||
alt: "Elizabeth's email"
|
|
||||||
title: "Elizabeth's email"
|
|
||||||
target: ""
|
|
||||||
- link:
|
|
||||||
icon: "fa-solid fa-briefcase"
|
|
||||||
text: "Resume"
|
|
||||||
url: "https://corrupt.link/pub/Resume.pdf"
|
|
||||||
alt: "Elizabeth's Resume PDF"
|
|
||||||
title: "Elizabeth's Resume"
|
|
||||||
target: "_blank"
|
|
||||||
|
|
||||||
# Todo: Image Gallery
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
footer: ""
|
|
||||||
|
|
||||||
copyright: >
|
|
||||||
©2025 Elizabeth Cray. Powered by <a href="https://github.com/ZhgChgLi/linkyee" target="_blank">linkyee</a>
|
|
||||||
@@ -1,150 +0,0 @@
|
|||||||
# Site Configuration
|
|
||||||
|
|
||||||
# Theme, mapped to the directory: ./theme/xxxx
|
|
||||||
theme: default
|
|
||||||
|
|
||||||
# HTML Language setting
|
|
||||||
lang: "en"
|
|
||||||
|
|
||||||
# Plugins, implemented in ./plugins/PLUGIN_NAME
|
|
||||||
# Use {{ vars.PLUGIN_NAME }} in the settings below
|
|
||||||
|
|
||||||
# The output of the plugin can be used below, e.g., {{vars.MediumFollowersCountPlugin}}
|
|
||||||
plugins:
|
|
||||||
# Automatically fetch Medium follower count
|
|
||||||
- MediumFollowersCountPlugin:
|
|
||||||
username: zhgchgli
|
|
||||||
# Automatically fetch Github repo star count
|
|
||||||
- GithubRepoStarsCountPlugin:
|
|
||||||
- ZhgChgLi/ZMarkupParser
|
|
||||||
- ZhgChgLi/ZReviewTender
|
|
||||||
- ZhgChgLi/ZMediumToMarkdown
|
|
||||||
- ZhgChgLi/linkyee
|
|
||||||
|
|
||||||
# Google Analytics tracking id
|
|
||||||
google_analytics_id:
|
|
||||||
|
|
||||||
# HTML Title
|
|
||||||
title: "ZhgChgLi's Links"
|
|
||||||
|
|
||||||
# Avatar image path
|
|
||||||
avatar: "./images/profile.jpeg"
|
|
||||||
|
|
||||||
# Name section text
|
|
||||||
name: "@zhgchgli"
|
|
||||||
|
|
||||||
# Tagline section text
|
|
||||||
tagline: >-
|
|
||||||
An iOS, web, and automation developer from Taiwan 🇹🇼 who also loves sharing, traveling, and writing.
|
|
||||||
|
|
||||||
# List of links
|
|
||||||
# icon: Use Font Awesome icons (https://fontawesome.com/search?o=r&m=free)
|
|
||||||
# text: The displayed text for the link
|
|
||||||
# title: The url title
|
|
||||||
# url: The URL of the link
|
|
||||||
# alt: Alternative text for accessibility
|
|
||||||
# target: `_blank` opens in a new tab, `_self` opens in the same frame
|
|
||||||
links:
|
|
||||||
- link:
|
|
||||||
icon: "fa-brands fa-medium"
|
|
||||||
text: "Tech Blog <span class='link-button-text'>({{vars.MediumFollowersCountPlugin}} Followers)</span>"
|
|
||||||
url: "https://blog.zhgchg.li"
|
|
||||||
alt: "ZhgChgLi's Tech Blog"
|
|
||||||
title: "ZhgChgLi's Tech Blog"
|
|
||||||
target: "_blank"
|
|
||||||
- link:
|
|
||||||
icon: "fa-brands fa-medium"
|
|
||||||
text: "Travelog <span class='link-button-text'>({{vars.MediumFollowersCountPlugin}} Followers)</span>"
|
|
||||||
url: "https://medium.com/ztravel"
|
|
||||||
alt: "ZhgChgLi's Travelog"
|
|
||||||
title: "ZhgChgLi's Travelog"
|
|
||||||
target: "_blank"
|
|
||||||
- link:
|
|
||||||
icon: "fa-solid fa-rss"
|
|
||||||
text: "Website"
|
|
||||||
url: "https://zhgchg.li/"
|
|
||||||
alt: "ZhgChgLi's Website"
|
|
||||||
title: "ZhgChgLi's Website"
|
|
||||||
target: "_blank"
|
|
||||||
- link:
|
|
||||||
icon: "fa-brands fa-swift"
|
|
||||||
text: "ZMarkupParser <span class='link-button-text'>({{vars.GithubRepoStarsCountPlugin['ZhgChgLi/ZMarkupParser']}} Stars)</span>"
|
|
||||||
url: "https://github.com/ZhgChgLi/ZMarkupParser"
|
|
||||||
alt: "ZMarkupParser is a pure-Swift library that helps you to convert HTML strings to NSAttributedString with customized style and tags."
|
|
||||||
title: "ZMarkupParser is a pure-Swift library that helps you to convert HTML strings to NSAttributedString with customized style and tags."
|
|
||||||
target: "_blank"
|
|
||||||
- link:
|
|
||||||
icon: "fa-brands fa-app-store-ios"
|
|
||||||
text: "ZReviewTender <span class='link-button-text'>({{vars.GithubRepoStarsCountPlugin['ZhgChgLi/ZReviewTender']}} Stars)</span>"
|
|
||||||
url: "https://github.com/ZhgChgLi/ZReviewTender"
|
|
||||||
alt: "ZReviewTender is a tool for fetching app reviews from the App Store and Google Play Console and integrating them into your workflow."
|
|
||||||
title: "ZReviewTender is a tool for fetching app reviews from the App Store and Google Play Console and integrating them into your workflow."
|
|
||||||
target: "_blank"
|
|
||||||
- link:
|
|
||||||
icon: "fa-brands fa-markdown"
|
|
||||||
text: "ZMediumToMarkdown <span class='link-button-text'>({{vars.GithubRepoStarsCountPlugin['ZhgChgLi/ZMediumToMarkdown']}} Stars)</span>"
|
|
||||||
url: "https://github.com/ZhgChgLi/ZMediumToMarkdown"
|
|
||||||
alt: "ZMediumToMarkdown is a powerful tool that allows you to effortlessly download and convert your Medium posts to Markdown format."
|
|
||||||
title: "ZMediumToMarkdown is a powerful tool that allows you to effortlessly download and convert your Medium posts to Markdown format."
|
|
||||||
target: "_blank"
|
|
||||||
- link:
|
|
||||||
icon: "fa-brands fa-github"
|
|
||||||
text: "linkyee <span class='link-button-text'>({{vars.GithubRepoStarsCountPlugin['ZhgChgLi/linkyee']}} Stars)</span>"
|
|
||||||
url: "https://github.com/ZhgChgLi/linkyee"
|
|
||||||
alt: "linkyee is a fully customized, open-source LinkTree alternative deployed directly on GitHub Pages."
|
|
||||||
title: "linkyee is a fully customized, open-source LinkTree alternative deployed directly on GitHub Pages."
|
|
||||||
target: "_blank"
|
|
||||||
|
|
||||||
|
|
||||||
# List of social media links
|
|
||||||
# icon: Use Font Awesome icons (https://fontawesome.com/search?o=r&m=free)
|
|
||||||
# title: The url title
|
|
||||||
# url: The URL of the social media link
|
|
||||||
# alt: Alternative text for accessibility
|
|
||||||
# target: _blank opens in a new tab, _self opens in the same frame
|
|
||||||
socials:
|
|
||||||
- social:
|
|
||||||
icon: "fa-brands fa-medium"
|
|
||||||
url: "https://blog.zhgchg.li"
|
|
||||||
title: "ZhgChgLi's Medium"
|
|
||||||
alt: "ZhgChgLi's Medium"
|
|
||||||
target: "_blank"
|
|
||||||
- social:
|
|
||||||
icon: "fa-brands fa-github"
|
|
||||||
url: "https://github.com/ZhgChgLi"
|
|
||||||
title: "ZhgChgLi's GitHub"
|
|
||||||
alt: "ZhgChgLi's GitHub"
|
|
||||||
target: "_blank"
|
|
||||||
- social:
|
|
||||||
icon: "fa-brands fa-twitter"
|
|
||||||
url: "https://twitter.com/zhgchgli"
|
|
||||||
title: "ZhgChgLi's Twitter"
|
|
||||||
alt: "ZhgChgLi's Twitter"
|
|
||||||
target: "_blank"
|
|
||||||
- social:
|
|
||||||
icon: "fa-brands fa-linkedin"
|
|
||||||
url: "https://www.linkedin.com/in/zhgchgli/"
|
|
||||||
title: "ZhgChgLi's LinkedIn"
|
|
||||||
alt: "ZhgChgLi's LinkedIn"
|
|
||||||
target: "_blank"
|
|
||||||
- social:
|
|
||||||
icon: "fa-brands fa-instagram"
|
|
||||||
url: "https://www.instagram.com/zhgchgli/"
|
|
||||||
title: "Instagram"
|
|
||||||
alt: "ZhgChgLi's Instagram"
|
|
||||||
target: "_blank"
|
|
||||||
- social:
|
|
||||||
icon: "fa-solid fa-envelope"
|
|
||||||
url: "mailto:zhgchgli@gmail.com"
|
|
||||||
title: "Email: zhgchgli@gmail.com"
|
|
||||||
alt: "zhgchgli@gmail.com"
|
|
||||||
target: "_blank"
|
|
||||||
|
|
||||||
# Footer text
|
|
||||||
footer: >
|
|
||||||
Hi there! Follow me on Medium or GitHub, or stay connected on Instagram or LinkedIn.
|
|
||||||
|
|
||||||
# Footer copyright message
|
|
||||||
# Linkyee is a 100% free, open-source project—feel free to modify the copyright message as you like. :)
|
|
||||||
copyright: >
|
|
||||||
© 2024 <a href="https://zhgchg.li" target="_blank">ZhgChgLi</a>. Powered by <a href="https://github.com/ZhgChgLi/linkyee" target="_blank">linkyee</a>
|
|
||||||
@@ -1,83 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
# ref: https://github.com/jekyll/jekyll
|
|
||||||
|
|
||||||
set -eu # Exit on error or unset variable
|
|
||||||
|
|
||||||
PAGES_BRANCH="site"
|
|
||||||
|
|
||||||
SITE_DIR="_output"
|
|
||||||
|
|
||||||
_backup_dir="$(mktemp -d)"
|
|
||||||
|
|
||||||
DATE_STAMP=$(date +"%Y-%m-%d %H:%M:%S")
|
|
||||||
|
|
||||||
init() {
|
|
||||||
echo "Initializing..."
|
|
||||||
}
|
|
||||||
|
|
||||||
build() {
|
|
||||||
# clean
|
|
||||||
if [[ -d $SITE_DIR ]]; then
|
|
||||||
rm -rf "$SITE_DIR"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Run the Ruby script to generate the output
|
|
||||||
bundle exec ruby "./scaffold.rb"
|
|
||||||
}
|
|
||||||
|
|
||||||
setup_gh() {
|
|
||||||
if [[ -z $(git branch -av | grep "$PAGES_BRANCH") ]]; then
|
|
||||||
git checkout -b "$PAGES_BRANCH"
|
|
||||||
else
|
|
||||||
git checkout "$PAGES_BRANCH"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
backup() {
|
|
||||||
mv "$SITE_DIR"/* "$_backup_dir"
|
|
||||||
mv .git "$_backup_dir"
|
|
||||||
|
|
||||||
if [[ -f CNAME ]]; then
|
|
||||||
mv CNAME "$_backup_dir"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
flush() {
|
|
||||||
rm -rf ./*
|
|
||||||
rm -rf .[^.] .??*
|
|
||||||
|
|
||||||
shopt -s dotglob nullglob
|
|
||||||
|
|
||||||
mv "$_backup_dir"/* .
|
|
||||||
}
|
|
||||||
|
|
||||||
deploy() {
|
|
||||||
# Configure Git user for the commit
|
|
||||||
git config --global user.name "Elizabeth Cray"
|
|
||||||
git config --global user.email "liz@cray.lgbt"
|
|
||||||
|
|
||||||
# Reset the current HEAD to prepare for new commits
|
|
||||||
git update-ref -d HEAD
|
|
||||||
git add -A
|
|
||||||
git commit -m "[Automation] Site update: ${DATE_STAMP}"
|
|
||||||
|
|
||||||
# Push the new branch to the remote repository
|
|
||||||
git push -u origin "$PAGES_BRANCH" --force
|
|
||||||
}
|
|
||||||
|
|
||||||
reset() {
|
|
||||||
git checkout main
|
|
||||||
}
|
|
||||||
|
|
||||||
main() {
|
|
||||||
init
|
|
||||||
build
|
|
||||||
setup_gh
|
|
||||||
backup
|
|
||||||
flush
|
|
||||||
deploy
|
|
||||||
reset
|
|
||||||
}
|
|
||||||
|
|
||||||
# Execute the main function
|
|
||||||
main
|
|
||||||
|
Before Width: | Height: | Size: 496 KiB After Width: | Height: | Size: 496 KiB |
|
Before Width: | Height: | Size: 115 KiB After Width: | Height: | Size: 115 KiB |
|
Before Width: | Height: | Size: 870 KiB After Width: | Height: | Size: 870 KiB |
|
Before Width: | Height: | Size: 953 B After Width: | Height: | Size: 953 B |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 986 B After Width: | Height: | Size: 986 B |
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 478 B After Width: | Height: | Size: 478 B |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |