boot sequence

1
2
3
$ cd ~/Blog
$ hexo generate
$ ssh root@jeremyguo.space blog-sync-now

这个博客会用来写技术笔记、系统折腾记录和一些长期维护的个人文档。

writing flow

写作和编译都在本地完成。服务器不跑 Hexo,也不直接从 OneDrive 的 FUSE 挂载目录响应请求。

当前链路是:

1
2
3
4
5
local Markdown
-> hexo generate
-> OneDrive client syncs Blog/ to cloud
-> server rclone sync public/ to local disk
-> Nginx serves /srv/jeremyguo-blog/public

这样访问博客时,Nginx 读的是服务器本地文件系统,不会因为用户请求触发 OneDrive 冷读取。

服务器每 3 分钟自动执行一次增量同步,只同步 Blog/public 里的静态站点子集。新增、修改、删除都会同步到本地镜像目录。

如果需要马上上线,可以手动触发:

1
ssh root@jeremyguo.space blog-sync-now

commands

1
2
3
npm run server
npm run publish
ssh root@jeremyguo.space blog-sync-now

npm run server 用来看本地预览,npm run publish 只负责本地生成静态文件。由于项目目录就在 OneDrive CloudStorage 里,上传由本机 OneDrive 客户端完成;服务器侧的 blog-sync.timer 会定期从 OneDrive 拉取 public/ 更新;blog-sync-now 用来跳过等待窗口。

render checks

数学公式先用两种常见形式试一下。

行内公式:当 $\Delta t \le 180s$ 时,服务器侧同步延迟可以被视作一个有界窗口。

块级公式:

$$
T_{publish}=T_{generate}+T_{onedrive_client}+T_{server_sync}
$$

其中服务器访问路径不包含 $T_{onedrive_read}$,因为 Nginx 直接读取本地镜像目录。

Mermaid 流程图:

flowchart LR
  A["Markdown"] --> B["hexo generate"]
  B --> C["OneDrive client"]
  C --> D["OneDrive-Personal:Blog/public"]
  D --> E["blog-sync.timer"]
  E --> F["/srv/jeremyguo-blog/public"]
  F --> G["Nginx"]
  G --> H["jeremyguo.space"]

plotly check

下面这个图表由页面端按需加载 Plotly 后渲染,用来确认交互式图表可以嵌入到文章里。


boot sequence
https://jeremyguo.space/2026/06/19/hello-world/
作者
郭俊毅 / JeremyGuo
发布于
2026年6月19日
许可协议