Skip to content

本站部署说明(Cloudflare Pages)

站点:https://minglcangkuku.pages.dev/


周报密码与隐藏入口(重要)

Cloudflare 规则

Pages Secret 只能写入,不能读回。
部署时无法「从 Cloudflare 取出明文密码」再写进网页。官方设计如此。

因此采用「同一明文,部署时写两边」:

位置存什么作用
Cloudflare Secret WEEKLY_PASSWORD明文(仅 CF 侧)functions/_middleware.ts 服务端校验 + HttpOnly cookie
构建产物里的 weeklyAuth.tsSHA-256 哈希(无明文)前端门禁,挡住 SPA 软跳转先露内容
.envWEEKLY_SLUG私密路径段构建 rewrite + 生成访问 URL;不在导航展示

流程:

  1. 本机 .env 设置 WEEKLY_PASSWORDWEEKLY_SLUG(可选 SITE_ORIGIN
  2. npm run deploy → bake 哈希与路径 → 同步 Secret → 上传站点
  3. 部署结束打印 Weekly URL,并写入本机 .weekly-url(已 gitignore)
  4. 用户解锁后,sessionStorage 缓存当前哈希;改密/改 slug 重新部署后旧缓存失效

改密或改入口:

powershell
# 编辑 .env 里的 WEEKLY_PASSWORD / WEEKLY_SLUG
npm run deploy
# 浏览器清掉该站 cookie,用新 URL 访问

一键发布

powershell
npm install
# 首次:复制 .env.example → .env,填入 WEEKLY_PASSWORD 与 WEEKLY_SLUG
npx wrangler login
npm run deploy

为何以前「随便密码也能进 / 先看到周报」

  1. VitePress 站内软跳转只拉 /assets/weekly_*.js,不一定重新走文档请求,服务端中间件管不到,就会先渲染正文。
  2. 现已同时:拦截 /assets/*weekly* + 前端门禁(未解锁隐藏正文)。
  3. Cookie 与密码 HMAC 绑定,改密后旧 cookie 立即失效
  4. 旧路径 /weekly 返回 404;真实入口仅 /{WEEKLY_SLUG}/

周中 logs 字段

时间 | 仓库 | 事件 | 提交内容 | 内容摘要(时间到分钟)
docs/weekly/index.md 由构建脚本生成,勿手改。