Template
指南

撰写内容

如何以 MDX 形式添加文档、博客文章、法律页面和作者。

本模板中的每一个内容区都是 content/ 下的纯 MDX,通过 fumadocs 加载。每个条目都拥有一个以公开 slug 命名的文件夹;默认源文件为 index.mdx,翻译使用 index.<locale>.mdx,图片与它们放在一起。/docs 根页面是自然的例外:content/docs 本身已经是它的所属文件夹,因此源文件直接放在那里。

集合

文件夹路由说明
content/docs/docs/<slug>每个页面一个文件夹;由元数据排序
content/blog/blog/<slug>每篇 Post 使用一个文件夹
content/legal/legal/<slug>每个页面一个文件夹;日期由 git 推导
content/authors/authors/<slug>每位作者使用一个文件夹

meta.json 等集合元数据描述的是导航,而不是内容条目,因此它们保留在集合或分组根目录。

每个条目一个文件夹

文件夹路径在各个集合中以相同方式定义公开 slug:

content/docs/guides/content/index.mdx  →  /docs/guides/content
content/legal/privacy/index.mdx       →  /legal/privacy
content/blog/my-first-post/index.mdx  →  /blog/my-first-post
content/authors/jordan-lee/index.mdx  →  /authors/jordan-lee

无需注册步骤——添加文件夹及其中的 index.mdx,条目就会出现。

Post 文件夹

一篇 Post 的 MDX 和全部图片都放在同一个文件夹里。默认语言文件名为 index.mdx,翻译版本使用 index.<locale>.mdx,Cover 始终使用固定文件名 cover.png

content/blog/my-first-post/
  index.mdx
  index.zh.mdx
  cover.png
  architecture.png

Frontmatter 只包含创作内容。cover 仅存放替代文本;图片来源由固定文件名确定:

---
title: "我的第一篇文章"
description: "用于卡片、元数据和 JSON-LD 的简短摘要。"
date: "2026-06-16"
author: "jordan-lee"
tags: ["指南"]
cover:
  alt: "描述封面图"
---

正文写在这里。

![架构图](./architecture.png)

内联图片使用普通 Markdown 图片语法和相对路径。Fumadocs 会在构建期间解析这些文件,因此路径错误或文件缺失会使构建失败;渲染后的图片使用经过优化、带哈希且包含固有尺寸的资源 URL。

作者文件夹

作者采用同一约定。肖像的固定文件名为 portrait.png,frontmatter 只包含其替代文本:

content/authors/jordan-lee/
  index.mdx
  index.zh.mdx
  portrait.png
portrait:
  alt: "Jordan Lee 的肖像"

各语言版本

每份翻译都使用条目文件夹内的 index.<locale>.mdx,因此所有语言版本会自动共享其中的图片。当某个翻译缺失时,页面会回退到默认语言的文件——参见 i18n 与 SEO

On this page