Hexo博客安知鱼主题github自动化的部署

本文引用并结合了2位大佬的博客教程,完成Hexo博客安知鱼主题github自动化的部署。


1.偷个懒,先把杨幂的脚的博客内容看到第5步结束,第6步不要挂载到Cloudflare Pages,这里开始不一样了

924333.webp
先把这部分复原

1
2
3
4
5
6
7
8
9
# Extensions
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: anzhiyu

# Deployment
## Docs: https://hexo.io/docs/one-command-deployment
deploy:
type: ''

继续在VSCode终端上输入命令,在博客根目录里安装最新版主题

1
git clone -b main https://github.com/anzhiyu-c/hexo-theme-anzhiyu.git themes/anzhiyu

第一次使用需要安装 pug 以及 stylus 的渲染器

1
npm install hexo-renderer-pug hexo-renderer-stylus --save

如果你是windows系统就请手动将/themes/anzhiyu/_config.yml复制到根目录下并重命名为_config.anzhiyu.yml即可。
以后如果修改任何主题配置,都只需修改 _config.anzhiyu.yml 的配置即可。
注意:(简单点就是动外面的这个_config.anzhiyu.yml,别去碰里面那份)

  • 只要存在于 _config.anzhiyu.yml 的配置都是高优先级,修改原 _config.yml 是无效的。
  • 每次更新主题可能存在配置变更,请注意更新说明,可能需要手动对 _config.anzhiyu.yml 同步修改。
  • 想查看覆盖配置有没有生效,可以通过 hexo g –debug 查看命令行输出。
  • 如果想将某些配置覆盖为空,注意不要把主键删掉,不然是无法覆盖的

VSCODE 终端首次执行报错
使用管理员身份打开 powershell ,输入以下命令

1
Set-ExecutionPolicy RemoteSigned

2.到这里就开始转换策略

修改开始部署的Github仓库名称,任意都行,反正不能是<用户名>.github.io,举个例子:blog-demo
896946.webp
在本地新建txt,修改其中的内容,然后把文件改成push_blog.sh保存(不要乱改名字)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#!/bin/bash

# 定义本地和远程仓库名称
LOCAL_REPO="blog-demo" #本地博客的文件夹名
GIT_REPO="git@github.com:用户名/仓库名.git" # 替换为你自己的用户名和仓库名
GIT_EMAIL="邮箱" # 替换为你自己仓库账号的邮箱
GIT_USER="用户名" # 替换为你自己仓库账号的用户名
PUSH_REMAKE="由 git bash 自动提交"
THEME_URL="https://github.com/anzhiyu-c/hexo-theme-anzhiyu.git" # 安知鱼主题子模块 URL
# ---------------------------以下内容无需修改-----------------------------

git config --global core.autocrlf true

echo "检查 SSH 配置..."
SSH_OUTPUT=$(ssh -T git@github.com 2>&1)
if echo "$SSH_OUTPUT" | grep -q 'success'; then
echo "SSH 配置正确,连接 GitHub 成功"
else
echo "错误:SSH 配置不正确,请确保 SSH 密钥已设置,并添加到 GitHub"
exit 1
fi

cd "$LOCAL_REPO" || { echo "目录 $LOCAL_REPO 不存在,脚本即将退出。"; exit 1; }
if [ ! -d ".git" ]; then
git init
git remote add origin "$GIT_REPO"
git config --global user.email "$GIT_EMAIL"
git config --global user.name "$GIT_USER"
echo "已初始化新的 Git 仓库并设置远程仓库"
fi
if [ -d "themes/anzhiyu/.git" ]; then
git rm -r --cached themes/anzhiyu
rm -rf themes/anzhiyu/.git
echo "已移除嵌套的 Git 仓库:themes/anzhiyu"
fi
if [ ! -d "themes/anzhiyu" ]; then
git submodule add "$THEME_URL" themes/anzhiyu
echo "已添加子模块:$THEME_URL"
else
echo "子模块已存在,更新子模块"
git submodule update --init --recursive themes/anzhiyu
fi

git checkout -B main
echo "已切换到 'main' 分支"
git add .
echo "已将所有文件添加到暂存区"

if ! git diff --cached --quiet; then # 仅在有更改时提交
git commit -m "$PUSH_REMAKE"
echo "已提交更改"
else
echo "没有更改需要提交"
fi

git pull origin main --rebase
echo "已拉取远程更改并合并"
git push -u origin main
echo "已将本地更改推送到远程仓库"
echo "操作完成!"

再新建一个txt,修改内容保存之后,起名run.bat(不要乱改名字)

1
2
3
4
@echo off

"C:\Program Files\Git\bin\bash.exe" -c "./push_blog.sh"
pause

都弄好之后以管理员身份运行run.bat,下图这样就是成功了
899600.webp

现在可以部署到Cloudflare了
新建pages,链接github,选择博客仓库,这里需要填写构建信息(别填错了),填好之后点击部署
972444.webp

1
npm run build
1
public

3.接下来需要下载github桌面端,认识英文可以不装汉化。

giuhub桌面端
github汉化

登录你的github账号,点击文件,选择克隆存储库,选择你心仪的文件夹保存,打开VSCode修改你的博客信息

  • 后续当你在VSCode改好之后,返回github桌面端,按顺序点击就可以完整的推送到你的仓库
    576121.webp
    956220.webp
    VSCode预览命令,要用这个哦,推送直接用github
    1
    hexo clean; hexo g; hexo s

后话

当你电脑损坏或者换地方编辑很简单,只需要装上giuhub桌面端,再次克隆仓库到本地文件夹

  • Node(必须)
  • Git(必须)
  • VSCode(非必须),但是这个好用,当然你会别的也行

第一次预览之前需要安装依赖

1
npm i

这里再次感谢青云志大佬提供的方案,让我的博客不会丢失了