For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /zh/docs/web/blog-content.md (or send Accept: text/markdown).
撰写博客文章
发布本地的、类型化的文章,分类与指南链接可用。
安装与配置
在执行任何步骤之前,请阅读开始之前 和终端基础知识。这些说明假设您在 VS Code 中打开了完整的 supastack monorepo;它的根 package.json 标记存储库根。在 pnpm 命令中,工作区包是应用程序或共享代码文件夹;在产品中,工作空间是团队的数据容器和安全边界。 corepack pnpm --filter ... 从 monorepo 选择一个包,同时从其根运行命令。如果您仅打开同步的移动或桌面文件夹,则它不包含 Web 后端、Docker 设置或根脚本:从此 monorepo 或可访问的托管服务器运行后端,并使用平台文件夹自己的脚本。环境变量是存储在本地 .env 文件或托管仪表板中的命名设置;更改后重新启动相关应用程序,并将服务器机密保留在 NEXT_PUBLIC_ 和 EXPO_PUBLIC_ 值之外。
1. 在 VS Code 中打开 apps/web/src/resources/content.ts 并复制附近的完整文章作为起点;文章副本位于存储库中,而不是发布仪表板中。
2. 为文章提供新的标题、标题、类别、日期、章节和现有的指南标题。
3. 从存储库根目录运行 corepack pnpm --filter @supastack/web dev 并打开 http://localhost:3000/blog/<your-slug>. 预期:在共享 URL 之前,在本地加载文章及其相关指南链接。
博客内容存储在 src/resources/content.ts 和 blog-posts.ts 中。这是存储库管理的内容;没有CMS发布服务。每个帖子都需要一个独特的标题、标题、描述、类别、日期、相关指南和部分。
{
slug: 'your-article',
title: 'A specific reader question',
category: 'Guides',
date: '2026-09-07',
guide: 'web/local-setup',
sections: [{ id: 'start', title: 'Start here', paragraphs: ['Your original text.'] }]
}要复制的命令
按照注释查看命令在哪个文件夹中运行。如果标记了两个终端,请打开两个终端窗口,并在使用第二个命令时保持第一个命令运行。
corepack pnpm --filter @supastack/web dev
# Replace <your-slug> with the article slug:
# http://localhost:3000/blog/<your-slug>
corepack pnpm test -- apps/web/src/resources/content.test.ts实现流程
参照一篇完整的现有 Post 对象补齐其余类型字段。发布后保持 slug 稳定,让已分享的 URL 继续可用。标题需要唯一的 section id,供目录与锚点链接使用。
分类来自文章目录。索引使用基于 URL 的过滤,文章路由从内容生成元数据。guide 字段必须匹配已有的文档 slug;相关内容应指向下一步有用的去处。
验证与排障
如果文章返回 404,请检查其 slug 是否唯一,并且是否已添加到 apps/web/src/resources/content.ts. 中的文章列表中。如果目录无处跳转,请为每个部分指定一个唯一的 id。从根目录运行 corepack pnpm test -- apps/web/src/resources/content.test.ts 以查看内容验证错误。
运行内容测试,打开文章路由,跟随它的关联指南,检查过滤后的索引。对照原始资料核对日期与表述。不要发布占位链接,也不要仅因为某集成出现在文章里就声称它已被验证。