Skip to content

2026-06-23 开发日志

记录时间:2026-06-23

文档与发布流程相关照片

今天做了什么

今天主要在补文档站的语言能力。

SoDialog 的默认语言保持简体中文,站点根路径仍然是 /。新增两套路由:

  • /zh-TW/:繁体中文入口。
  • /en/:英文入口。

这次没有给核心库增加任何运行时依赖,而是使用 VitePress 自带的 locales。导航、侧边栏、首页 CTA、页脚链接、html lang、canonical、Open Graph 和 JSON-LD 都跟着当前语言走。

真正麻烦的地方不在“多一份目录”,而在“别让用户点着点着突然被送回默认语言”。所以首页里的文档卡片、快速开始按钮和页脚文档入口都改成按当前 locale 拼路径。静态 demo 和图片资源继续共享根路径,避免把同一份资源复制三遍。

文档内容的边界

今天先把三语言站点骨架打通:页面可访问、链接可走通、SEO 元信息正确、构建和 smoke 能验证。

繁中和英文正文目前还是从现有文档镜像出来的基线内容,并不是逐页人工翻译完成。这个边界要写清楚,因为“路由有了”和“翻译完成了”不是一回事。前者是信息架构,后者是内容工程。

我更愿意先把结构铺稳,再逐页翻译。这样后续改某个 API 页面时,不会一边翻译一边怀疑链接、canonical 或 sitemap 是不是也坏了。

发布这边也顺手摸了一下

本地 npm publish --access public 失败了,但不是测试失败。

实际情况是:

  • release:verify 已经跑完,lint、构建、文档 smoke 都通过。
  • npm registry 能看到 sodialog 当前版本。
  • npm whoami 返回 401,说明当前环境没有有效 npm 登录态或 token。

所以问题不是包本身,而是发布身份。今天顺手把 package.json 里的 repository.url 固定成 npm 认可的格式,避免发布时再被 npm 自动纠正。

发布路径也确认了一遍:仓库已有 npm-publish.yml,推送 vX.Y.Z tag 后可以走 GitHub Actions 自动发布。更推荐 npm Trusted Publishing,让 GitHub OIDC 做身份,不再把本地登录态当成发布流程的一部分。

验证结果

  • ESLint 通过。
  • 文档构建通过。
  • 文档 smoke 20 个用例全部通过。
  • npm pack --dry-run 通过。
  • 旧 GitHub Pages 域名检索没有回归。

今天的体会是:多语言和发布自动化都不是“多配一行”的活。它们真正要解决的是同一个问题:别让项目靠记忆运行。语言路径、SEO 元信息、npm 身份、tag 版本号,这些东西最好都能被配置和测试接住,而不是靠发布当天的人类手感。

Released under the MIT License.