← 返回关于

内容维护手册

按任务查找文件路径、复制最小模板,并核对生成结果。

手动维护 · 可复制模板

新增文章

src/content/{locale}/articles/{slug}/index.mdx

import Heading from '@/components/common/Heading'

export const metadata = {
    "title": "文章标题",
    "description": "一句话概括内容。",
    "date": "2026-09-23",
    "keywords": [
        "Next.js",
        "MDX"
    ],
    "outline": [
        {
            "id": "overview",
            "text": "概述"
        }
    ]
};

<Heading id="overview">概述</Heading>

在这里写正文。

字段与约束

title / date
必填。日期使用 YYYY-MM-DD,列表按日期倒序。
description / keywords
建议填写。摘要和关键词用于列表与 SEO。
outline
章节目录;id 与 Heading 的 id 保持一致。
slug
来自文章目录名,不在 metadata 内填写。

生成到: src/content/{locale}/articles/list.json

生成命令

pnpm generate:articles
pnpm generate:routes
手动维护 · 可复制模板

维护速查分类

src/content/{locale}/cheatsheets/categories.json

[
    {
        "slug": "ai-fundamentals",
        "title": "AI 基础",
        "remark": "可选的分类说明"
    }
]

字段与约束

slug / title
必填。slug 唯一;向现有数组追加条目,不要用示例替换整份文件。
remark
可选。分类说明。
数组顺序
决定分类展示顺序,不使用 order 字段。

生成到: src/content/{locale}/cheatsheets/list.json

生成命令

pnpm generate:cheatsheets
pnpm generate:routes
手动维护 · 可复制模板

新增速查主题

src/content/{locale}/cheatsheets/{topicDir}/meta.json

{
    "id": "example-topic",
    "slug": "example-topic",
    "title": "示例主题",
    "description": "主题简介。",
    "icon": "/assets/cheatsheet/model.svg",
    "category": "ai-fundamentals",
    "keywords": [],
    "links": [],
    "sections": [],
    "order": 10,
    "createdAt": "2026-09-23",
    "updatedAt": "2026-09-23"
}

字段与约束

id / slug
必填。id 是稳定身份;slug 决定 URL,使用小写字母、数字和连字符。recent 为保留路径。
title / description / icon / category
必填;category 必须对应 categories.json 的 slug,icon 指向已有资源。
order / createdAt / updatedAt
必填。order 越小越靠前,日期为 YYYY-MM-DD。
sections / links
必填数组,可以为空。sections 使用 {slug,title},顺序由数组决定;links 使用 {title,url}。
keywords
可选的字符串数组。

生成到: src/content/{locale}/cheatsheets/list.json

生成命令

pnpm generate:cheatsheets
pnpm generate:routes
手动维护 · 可复制模板

新增速查内容

src/content/{locale}/cheatsheets/{topicDir}/{file}.mdx

export const metadata = {
    "id": "example-topic-basics",
    "slug": "basics",
    "title": "基础知识",
    "description": "内容简介。",
    "keywords": [],
    "preview": [
        "一个关键知识点。"
    ],
    "order": 0,
    "publishedAt": "2026-09-23",
    "updatedAt": "2026-09-23"
};

## 概述

在这里写正文。

字段与约束

id / slug / title / description
必填。文章 id 在同语言速查中唯一,slug 在主题内唯一;URL 使用 metadata.slug,而非文件名。
order / publishedAt
必填。order 控制主题内顺序;publishedAt 为发布日期。
updatedAt / keywords / preview
updatedAt 可省略并回退到 publishedAt;其余为可选字符串数组。preview 建议不超过 4 条。
section
主题 sections 非空时必填且必须匹配其中一个 slug;sections 为空时不能填写 section。

生成到: src/content/{locale}/cheatsheets/{topicDir}/list.json

生成命令

pnpm generate:cheatsheets
pnpm generate:routes
手动维护 · 可复制模板

新增工具

src/app/[locale]/tools/{id}/meta_{locale}.json

{
    "name": "示例工具",
    "description": "功能简介。",
    "icon": "/assets/tool/srt.svg",
    "tags": [],
    "sort": 10
}

字段与约束

name / description
必填。本文件只提供列表元数据,仍需创建 page.tsx 与页面实现。
icon / tags / sort
icon 为资源路径,tags 为字符串数组;可用 sort 表达排序意图,生成脚本本身不按 sort 重排。
author / version
可选扩展字段;生成器会保留额外元数据字段。

生成到: src/content/{locale}/tools/list.json

生成命令

pnpm generate:tools
pnpm generate:routes
手动维护 · 可复制模板

新增探索页面

src/app/[locale]/explore/{id}/meta_{locale}.json

{
    "name": "示例工具",
    "description": "功能简介。",
    "icon": "/assets/tool/srt.svg",
    "tags": [],
    "sort": 10
}

字段与约束

name / description
必填。本文件只提供列表元数据,仍需创建 page.tsx 与页面实现。
icon / tags / sort
icon 为资源路径,tags 为字符串数组;可用 sort 表达排序意图,生成脚本本身不按 sort 重排。
author / version
可选扩展字段;生成器会保留额外元数据字段。

生成到: src/content/{locale}/explore/list.json

生成命令

pnpm generate:explore
pnpm generate:routes

生成数据结构

以下示例在构建时读取当前索引,仅截取少量条目;不要手改这些文件。recent 示例也只展示第一项,不代表实际分页大小。

自动生成 · 只读示例
src/content/zh-cn/articles/list.json

文章列表:从 metadata 选取字段,并补充目录 slug 与 lang。

[
    {
        "slug": "rsshub-ai-information-radar",
        "lang": "zh-cn",
        "title": "当所有平台都在算法推荐时,需要重新捡起 RSS",
        "date": "2026-06-08 08:00:00",
        "description": "记录我从 X 信息追踪需求出发,研究 RSS、RSSHub、自托管实例与 AI 工作流的过程。包括 RSS 基础概念、Route、Instance、Parameters、Output Formats,以及如何将 RSSHub 作为 AI 和 Agent 的信息输入层。",
        "keywords": [
            "RSSHub",
            "RSSHub 教程",
            "RSSHub 自托管",
            "RSSHub Docker",
            "RSSHub Route",
            "RSSHub Parameters",
            "RSS",
            "RSS 阅读器",
            "RSS Reader",
            "RSS Feed",
            "AI 信息源",
            "AI 数据源",
            "Agent 数据源",
            "信息雷达",
            "情报监控系统",
            "个人信息系统"
        ]
    }
]
自动生成 · 只读示例
src/content/zh-cn/cheatsheets/list.json

全局速查索引:分类 → 主题,主题包含 articleCount,不含完整正文。

[
    {
        "slug": "ai-fundamentals",
        "title": "AI 基础",
        "remark": "跨模型都适用的底层概念",
        "topics": [
            {
                "id": "model-fundamentals",
                "slug": "model-fundamentals",
                "title": "模型",
                "keywords": [
                    "AI",
                    "基础"
                ],
                "description": "模型是一个通过训练获得参数,并能够根据输入计算输出的数学系统。",
                "icon": "/assets/cheatsheet/model.svg",
                "links": [],
                "category": "ai-fundamentals",
                "order": 0,
                "createdAt": "2026-08-17",
                "updatedAt": "2026-08-17",
                "articleCount": 5
            }
        ]
    }
]
自动生成 · 只读示例
src/content/zh-cn/cheatsheets/model-fundamentals/list.json

主题文章列表:该主题的文章 metadata,按章节顺序、order 和 slug 排列。

[
    {
        "id": "model-fundamentals-what-is-a-model",
        "slug": "what-is-a-model",
        "title": "第一层:模型是什么?",
        "keywords": [
            "AI 模型",
            "Model",
            "模型架构",
            "Model Architecture",
            "模型参数",
            "Parameters",
            "模型权重",
            "Weights",
            "模型配置",
            "Model Config",
            "Tokenizer",
            "模型基础"
        ],
        "description": "从工程视角理解 AI 模型的基本构成,以及模型、架构、参数、权重、配置和 Tokenizer 等核心概念之间的关系。",
        "preview": [
            "模型是一套能够根据输入计算输出的数学系统。它的架构规定了如何计算,参数的具体数值则通过训练获得。",
            "架构像一套预先设计好的计算框架,权重是训练过程中填入其中的大量数值;两者结合,才形成一个具备具体能力的模型。"
        ],
        "order": 0,
        "publishedAt": "2026-08-21",
        "updatedAt": "2026-08-21"
    }
]
自动生成 · 只读示例
src/content/zh-cn/cheatsheets/home.json

首页速查:每个非空主题取最新一篇,合并主题、分类和图标信息,再按日期排列。

[
    {
        "slug": "google-antigravity-cli",
        "title": "Google Antigravity CLI  安装及初始化",
        "preview": [
            "Google Antigravity CLI 是 Google Antigravity 的命令行工具,可以用于管理 Google Antigravity 的智能体。"
        ],
        "updatedAt": "2026-09-23",
        "topicSlug": "google-antigravity",
        "topicTitle": "Google Antigravity",
        "icon": "/assets/cheatsheet/google-antigravity.png",
        "categorySlug": "ai-tools",
        "categoryTitle": "AI 工具"
    }
]
自动生成 · 只读示例
src/content/zh-cn/cheatsheets/recent.json

最近更新:汇总全部速查内容,以 updatedAt(缺失时用 publishedAt)倒序;pageSize 控制分页。

{
    "pageSize": 30,
    "items": [
        {
            "slug": "google-antigravity-cli",
            "title": "Google Antigravity CLI  安装及初始化",
            "updatedAt": "2026-09-23",
            "topicSlug": "google-antigravity",
            "topicTitle": "Google Antigravity",
            "icon": "/assets/cheatsheet/google-antigravity.png",
            "categorySlug": "ai-tools",
            "categoryTitle": "AI 工具",
            "description": "了解 Google Antigravity CLI 的概念和用途场景。",
            "publishedAt": "2026-09-23"
        }
    ]
}
自动生成 · 只读示例
src/content/zh-cn/tools/list.json

工具索引:从 meta 文件生成 id、href、tags,并保留扩展字段。

[
    {
        "id": "generate-guid-by-crypto",
        "name": "UUID / GUID 生成器",
        "description": "使用 Web Crypto API 生成随机 UUID v4,支持单个和批量生成。",
        "href": "/tools/generate-guid-by-crypto",
        "icon": "/assets/tool/uuid.svg",
        "tags": [
            "UUID",
            "GUID",
            "UUID v4",
            "JavaScript"
        ],
        "sort": 1,
        "author": "Oceanz",
        "version": "1.0.0"
    }
]
自动生成 · 只读示例
src/content/zh-cn/explore/list.json

探索索引:与工具类似,以 /explore/{id} 为入口。

[
    {
        "id": "edge-tts",
        "name": "Edge TTS 语音样本 - 322 个神经语音预览",
        "description": "在线试听 Microsoft Edge TTS 语音样本,对比 322 个神经语音,并复制 en-US-AriaNeural 等 voice ID,用于 Python edge-tts、Azure Speech、旁白和视频配音项目。",
        "href": "/explore/edge-tts",
        "icon": "/assets/explore/edge.png",
        "tags": [
            "Microsoft Edge",
            "TTS",
            "语音样本",
            "edge-tts",
            "Python",
            "Azure Speech",
            "神经语音",
            "Edge TTS 语音样本",
            "Microsoft Edge TTS samples",
            "edge-tts Python",
            "en-US-AriaNeural sample",
            "Azure Cognitive Speech sample",
            "文本转语音预览"
        ]
    }
]
自动生成 · 只读示例
src/generated/content-routes.json

路由清单:路径 → kind 与各语言 versions;用于静态页面、翻译提示和 sitemap。

{
    "/": {
        "kind": "page",
        "versions": {
            "zh-cn": {
                "title": ""
            },
            "en": {
                "title": ""
            }
        }
    },
    "/about": {
        "kind": "page",
        "versions": {
            "zh-cn": {
                "title": ""
            },
            "en": {
                "title": ""
            }
        }
    }
}
自动生成 · 只读示例
src/generated/route-locales.json

语言可用性:路径 → 已发布语言数组,供语言切换和 hreflang 使用。

{
    "/": [
        "zh-cn",
        "en"
    ],
    "/about": [
        "zh-cn",
        "en"
    ]
}

src/generated/cheatsheet-content.ts 也是构建产物:保存 locale/topicSlug/articleSlug 到 MDX 加载器的映射,以及主题 metadata 与列表的加载器;由 generate:cheatsheets 重建,不手动维护。

发布前检查

  1. 替换示例 id、slug、标题、日期与图标;不要把示例标识直接用于多篇内容。
  2. metadata 必须为静态字面量,不使用变量、函数或展开运算符。
  3. 中文和英文独立发布;未完成的长文使用 _draft 前缀或不创建,不复制中文占位。
  4. 运行 pnpm generate:all 后预览内容、主题、最近更新和语言切换;最后运行 pnpm build 与 pnpm verify:content-export。