更新内容
首先感谢一下klcdm嘿嘿
每次都是直接抄他的博客主题,虽说前人栽树后人乘凉,但是还是特别感谢klcdm博客给予的灵感
首先讲讲为什么换了框架把
从Valaxy切换到Hexo,主要是因为Valaxy还是过于新兴的博客主题了,社区插件很少,遇到问题解决困难
换到Hexo,主要原因是Hexo的社区插件很多,并且文档也相对比较完善,Bug少,大改容易
切换框架后,Valaxy的主题博客切换到了 https://valaxy.xscnet.cn/ 这个域名,与Hexo文章同步更新
技术细节
首先展示我现在推送博客文章的工作流
只有我写完文章前端的git push是手动的,其余工作流均为Github Action自动完成
注意:以下内容是Mermaid绘制的流程图,可能会遇到加载缓慢的情况
graph TD
%% ===== 样式定义 =====
classDef local fill:#e1f5fe,stroke:#01579b,stroke-width:2px,color:#0d47a1;
classDef repo1 fill:#fff3e0,stroke:#e65100,stroke-width:2px,color:#e65100;
classDef repo2 fill:#f3e5f5,stroke:#4a148c,stroke-width:2px,color:#4a148c;
classDef action fill:#e8f5e8,stroke:#1b5e20,stroke-width:2px,color:#1b5e20;
classDef server fill:#ffebee,stroke:#b71c1c,stroke-width:2px,color:#b71c1c;
classDef note fill:#ffffff,stroke:#999999,stroke-dasharray: 5 5,color:#333333;
%% ===== 本地 =====
subgraph Local
Local_Source["Hexo源码目录\n文章 / 主题 / 配置"]
Local_Write["写文章\nhexo new"]
Local_Preview["本地预览\nhexo s"]
Git_Push["git push"]
Local_Source --> Local_Write --> Local_Preview --> Git_Push
end
%% ===== 仓库1 =====
subgraph Repo1
Repo1_Source["GitHub 仓库1\nHexoBlog 源码"]
Action1["Action A\n自动构建部署"]
Repo1_Source --> Action1
note1["构建步骤\n1. checkout 源码\n2. npm install\n3. hexo generate\n4. 推送静态文件"]
Action1 -.-> note1
end
%% ===== 仓库2 =====
subgraph Repo2
Repo2_Site["GitHub 仓库2\nHexoSite 静态文件"]
Action2["Action B\n部署到服务器"]
Repo2_Site --> Action2
note2["部署步骤\n1. checkout 静态文件\n2. SSH 连接服务器\n3. 清理 dist 目录\n4. 上传所有文件"]
Action2 -.-> note2
end
%% ===== 服务器 =====
subgraph Server
Nginx["Nginx\n指向 dist 目录"]
Web_Files["/home/blog/dist\nindex.html\narchives\ncss\njs"]
Nginx --> Web_Files
end
%% ===== 流程连接 =====
Git_Push -->|"推送源码"| Repo1_Source
Action1 -->|"推送静态文件"| Repo2_Site
Action2 -->|"SCP 上传"| Web_Files
Action2 -.->|"监听 push 事件"| Repo2_Site
%% ===== 总说明 =====
note3["最终流程\n本地写文章 → git push → 自动构建 → 自动部署 → 服务器更新"]
note3 -.-> Local
%% ===== 应用样式 =====
class Local_Source,Local_Write,Local_Preview,Git_Push local;
class Repo1_Source repo1;
class Repo2_Site repo2;
class Action1,Action2 action;
class Nginx,Web_Files server;
class note1,note2,note3 note;
这就是目前这个Hexo博客的推送工作流,希望这个流程图能帮助到你


当Github Action自动构建部署完成时,最后还是需要我手动去腾讯云清理EO缓存,不过Action为我省去了很多包括部署到服务器上的时间
说说为什么要部署到阿里云的境内服务器上吧
本来想了三种方案
- 境内服务器
- Github Pages
- Vercel
现在使用的方案是阿里云的境内服务器为推送主力,Vercel做备用源站
因为我顾虑vercel的服务器在境外,虽然有EO助力缓存,但是网络环境变幻莫测,目前没有过多的时间折腾,我需要的是足够稳定的方案
如果使用Vercel + EO缓存的方案,我最大的顾虑是如果EO从Vercel服务器拉取失败,可能会导致服务中断,得不偿失
况且这台服务器本是为了本站的ICP备案,需要一直保持续费,不如发光发热,把博客源站部署在境内,让CDN拉去资源缓存时候,不会因为EO拉取失败而中断服务
小结
目前博客已经完成了主要框架的构建和美化部署
具体插件类估计需要等到高考结束之后再补全了
关于友链
友链经过一轮清洗,对于已经无法正常访问的友链进行了删除处理
如果您的友链被错误的删除了,可以点击博客左下角的Mailto(邮件)按钮,发送邮件给我,等我确认之后,将友链添加回友链列表中
或者您也可以选择直接在此文章下方留言,将您的友链发送给我,我收到之后会进行添加
感谢大家的支持