用途:通过 Convex-first 流程向 joelclaw.com 发布文章、教程、笔记和随笔,覆盖草稿→审核→发布→重新验证→校验的完整生命周期。
主要能力:支持四种内容类型(article、tutorial、note、essay),标签必须包含内容类型;草稿仅在开发环境可见,生产环境返回 404;发布后通过 revalidate API 刷新缓存,并校验页面、Markdown 孪生、首页和 feed。
使用方式:在 apps/web/ 目录下运行 npx convex run contentResources:upsert '<JSON>' 进行草稿写入,必填字段包括 resourceId、type、fields(title、slug、description、date、tags、draft、content)。slug 需小写、连字符、无特殊字符,并先检查冲突。date 使用完整 ISO 日期时间。content 需去除 MDX frontmatter。大内容建议用 Node 脚本生成 JSON 载荷。发布时将 draft 设为 false 并更新 updated 时间戳。重新验证需租用 revalidation_secret,然后 POST 到 https://joelclaw.com/api/revalidate,携带 tags 和 paths。校验需检查页面、Markdown 孪生、首页和 feed 均返回 200 且包含 slug。
适用场景:适用于 joelclaw.com 的内容发布流程,尤其是需要草稿审核和缓存刷新的场景。
限制:Convex CLI 必须在 apps/web/ 下运行;内容必须去除 frontmatter;日期必须为 ISO 格式;secret 为临时租用,不可硬编码或缓存;大内容需 JSON 转义;标签必须包含内容类型;文件系统 content/ 目录为 gitignored 种子材料,运行时以 Convex 为准。未提供收费、价格、平台或效果信息。