开始写作

内容检查与测试

使用项目现有脚本检查内容、类型、单元测试和页面构建。

项目提供内容检查、类型检查、Vitest 单元测试和 Playwright E2E 测试。它们的覆盖范围不同,应按修改内容选择运行。

内容检查

pnpm content:check

该脚本检查内容文件的 frontmatter、日期、重复路由、内部链接、图片引用以及部分外部图片警告。新增文档或博客后应优先运行它。

类型与代码检查

pnpm lint
pnpm typecheck

lint 运行 ESLint,typecheck 执行 Nuxt 类型检查。修改 Vue、TypeScript、composable 或配置时建议同时运行。

单元测试

pnpm test:unit

单元测试使用 Vitest,覆盖内容工具、Feed 等纯逻辑模块。开发调试时也可以运行:

pnpm test

该命令启动 Vitest 交互模式。

E2E 测试

pnpm test:e2e

E2E 测试使用 Playwright,覆盖站点入口、公开页面和 RSS、Atom、robots、sitemap 等关键端点。首次运行可能需要安装 Chromium:

pnpm exec playwright install chromium

当前 CI 执行源码与内容检查、类型检查、单元测试、pnpm generate 和 Nginx 静态浏览器测试。

构建验证

pnpm generate

构建会生成 .output/public 静态文件,并验证内容处理和预渲染。发布前建议按以下顺序执行:

pnpm content:check
pnpm lint
pnpm typecheck
pnpm test:unit
pnpm generate

如果修改页面交互、路由、SEO 端点或内容渲染,再追加 PLAYWRIGHT_SERVER_MODE=static pnpm test:e2e。如果修改 wechat-sign-server/,进入该目录后单独运行 go test ./...。