全部文档

DOC/ 更新于 2026-09-19

部署

构建、托管、域名和分析设置。

网站由 Next.js 在构建时生成静态 HTML:

pnpm build

Next.js 为所有七种语言预渲染主页、文档页面、站点地图和静态资源。 没有服务器运行时,所以任何静态托管都适用。

生产托管是 Vercel:

  • framework preset: Next.js
  • root directory: apps/web
  • build command: pnpm build

域名是 ella.yuricunha.com,配置在 apps/web/src/data/site.ts 和应用 元数据中,用于驱动规范 URL、Open Graph 和站点地图。

  • /docs 可用文档页面的索引,按语言区分;
  • /docs/<slug> 单个文档页面,按语言区分。

两者都是构建时生成的静态路由。默认语言(英语)没有 URL 前缀;其他 语言带有自己的前缀,例如 /pt/docs/ja/docs

  • 默认英语:https://ella.yuricunha.com
  • 其他语言:https://ella.yuricunha.com/<locale>

每个页面都为全部七种语言声明 hreflang 备用链接,站点地图列出每个 变体。

Umami 已准备好,但默认不生效。Analytics 组件只有在构建时存在两个 环境变量时才会渲染:

NEXT_PUBLIC_UMAMI_SRC=https://your-umami-host/script.js
NEXT_PUBLIC_UMAMI_WEBSITE_ID=your-website-id

没有它们,网站交付零分析 JavaScript。不会提交占位符 ID。

GitLab 管道在 main 上运行。它使用具有身份验证的 GitLab 配置文件 创建,因为 GitLab.com 拒绝在缺少身份验证的情况下运行 CI 作业。 触发方式:

glab api --method POST \
  "projects/isyuricunha%2Fella-mizuki/pipeline" -f "ref=main"

验证创建的管道达到 success:quality、build、SAST 和秘密检测都必须 通过,才能认为部署是绿色的。

  • 区域设置布局中的元数据、Open Graph、Twitter 卡片、规范链接和 JSON-LD;
  • robots.txt 和站点地图在构建中生成;
  • 社交卡片是 public/og.png(1200x630,使用 Geist 字体从渲染的 HTML 模板生成);
  • 每种语言都有自己的元数据和 hreflang 备用链接。