预览确认无误后,导出静态站点并部署上线。
导出静态站点
在工作区根目录执行:
cd my-site
everkm-publish serve --export
从默认入口 /index.html 开始抓取已渲染页面,按 URL 路径保存 HTML,并跟踪内链直至遍历完成。文中引用的图片、音视频等资源会一并导出;未被引用的资源不会导出。
导出相关选项(--dist-dir、--start-urls、--with-vercel 等)见 everkm-publish serve --help。
导出前补充资源
通过 __everkm/extend/ 放入未被正文引用但需发布的文件:
| 目录 | 作用 |
|---|---|
extend/assets/ | 复制到站点 assets/;预览时优先于主题资源 |
extend/pages/ | 导出完成后覆盖同路径 HTML(如自定义 404.html) |
目标文件已存在时会被覆盖写入。
发布前检查
everkm-publish lint ./my-site
everkm-publish lint ./my-site --auto-fix
检查 Front Matter(id、created_at、slug 唯一性等)与正文 [[...]] 内链。字段说明见 文章元数据。更多选项见 everkm-publish lint --help。
验证导出结果
对已导出的静态目录启动本地 HTTP 服务:
everkm-publish web ./dist
在浏览器中确认链接与资源是否正常,再上传部署。
部署方式
导出目录即为可部署的静态站点根目录:
| 方式 | 说明 |
|---|---|
| 对象存储 + CDN | 上传 dist/ 全部文件到 OSS / S3 等,绑定域名 |
| Nginx | root 指向导出目录;导出时可加 --with-nginx-map |
| Vercel | 导出时加 --with-vercel,按生成的配置部署 |
| 任意静态托管 | GitHub Pages、Cloudflare Pages 等 |
部署前建议:lint → serve --export → web ./dist 本地验 → 上传。
遇到问题见 常见问题。
全文搜索(可选)
若使用 Algolia,导出后推送索引并在 everkm.yaml 配置主题搜索参数。见 嵌入式搜索。