更新内容

首先感谢一下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为我省去了很多包括部署到服务器上的时间

说说为什么要部署到阿里云的境内服务器上吧
本来想了三种方案

  1. 境内服务器
  2. Github Pages
  3. Vercel
    现在使用的方案是阿里云的境内服务器为推送主力,Vercel做备用源站

因为我顾虑vercel的服务器在境外,虽然有EO助力缓存,但是网络环境变幻莫测,目前没有过多的时间折腾,我需要的是足够稳定的方案
如果使用Vercel + EO缓存的方案,我最大的顾虑是如果EO从Vercel服务器拉取失败,可能会导致服务中断,得不偿失
况且这台服务器本是为了本站的ICP备案,需要一直保持续费,不如发光发热,把博客源站部署在境内,让CDN拉去资源缓存时候,不会因为EO拉取失败而中断服务

小结

目前博客已经完成了主要框架的构建和美化部署
具体插件类估计需要等到高考结束之后再补全了

关于友链
友链经过一轮清洗,对于已经无法正常访问的友链进行了删除处理
如果您的友链被错误的删除了,可以点击博客左下角的Mailto(邮件)按钮,发送邮件给我,等我确认之后,将友链添加回友链列表中
或者您也可以选择直接在此文章下方留言,将您的友链发送给我,我收到之后会进行添加

感谢大家的支持