代码拉取完成,页面将自动刷新
#!/usr/bin/env bash
# autopush.sh
# 此脚本用于简化 git 提交和自动更新 sitemap。
#
# 需要进行前置依赖安装: static-sitemap-cli。
# 如果 node 已经进行了此包的安装,则不需要再次进行安装。
# 安装命令:
# npm install static-sitemap-cli
#
# 如果需要解除 git diff 对于中文的编码,请确保 git 的配置:
# git config --global core.quotepath false
# bash 脚本安全性保障
set -Eeuxo pipefail
# 注意:
# 生成 last-updated.md 的逻辑已和此脚本分离
# 详细内容在 generate-last-updated-md.sh
# 此脚本将专注于自动推送的逻辑
# 另外
###################################################################
# 因为硬编码,generate-last-updated-md.sh 和 本脚本 必须位于同一目录下
###################################################################
if [[ $1 ]]; then
# 生成 sitemap.xml 和 sitemap.txt 文件,借助 static-sitemap-cli
# 安装 static-sitemap-cli 命令: npm i -g static-sitemap-cli
if ! [[ "$OSTYPE" =~ linux ]]; then
sscli -b https://tinysnow.github.io -r ./book
# 检查 book 文件夹下是否有这两个文件
if [[ -a ./book/sitemap.xml && -a ./book/sitemap.txt ]]; then
cp -f ./book/sitemap.xml ./src
cp -f ./book/sitemap.txt ./src
else
echo "sitemap.xml 和 sitemap.txt 不存在,请检查 static-sitemap-cli 安装情况。"
exit 1
fi
git add .
./generate-last-updated-md.sh
git add ./src/last-updated.md
fi
git add .
# 编译文章
mdbook build
# 提交 message 取第二个参数,需要打引号
git commit -m "$1"
# 推送至远程仓库
git push
# 推送到 gitee 备份
git push gitee master
# 推送到 gitea 备份
# git push gitea master
# echo "\"$1\""
else
echo "请提供参数。"
exit 1
fi
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。