主题
test 结论先行
静态站的发布链路只有四步,服务器全程不参与内容生产:
text
本地写 md → 本地构建 html → 上传产物 → nginx 读磁盘test 关键认知
服务器上只有构建产物,没有 Markdown、没有数据库、没有后台。 所以不可能"登录服务器发文章"。
test 为什么这一步容易出错
rsync --delete 不能省。少了它,删掉的文章会一直留在线上, 而且不会有人告诉你。
bash
# 正确的做法:--delete 让线上等于本地构建结果
rsync -avz --delete site/.vitepress/dist/ deploy@host:/var/www/site/test 草稿的坑
draft: true 挡不住部署。实测结论:
- 组件层的过滤只影响"列表里显不显示"
- VitePress 照样为它生成页面
- 搜索索引只认
search: false,完全不看draft
所以草稿必须放在源码目录之外(本项目的 drafts/)。
test 表格:产物构成
| 类型 | 数量 | 说明 |
|---|---|---|
| HTML | 每页一个 | 页面外壳 |
| JS 分块 | 每页一个 | 正文内容在这里 |
| 搜索索引 | 1 个 | 含各页正文 |
所以不能只传 HTML —— 正文根本不在 HTML 里。