Next.jsFumadocsWeb开发
用 Fumadocs 搭建本站
Next.js 16 + Fumadocs 的博客与知识库搭建记录
本站的技术栈:Next.js 16(App Router)+ Fumadocs + Tailwind CSS 4,内容全部是仓库里的 MDX 文件。这篇记录搭建过程和几个关键决定。
为什么选 Fumadocs
文档站需要的东西——侧边栏目录树、全文搜索、目录(TOC)、深色模式——Fumadocs 全部内置,而且它只是 Next.js 的一层封装,不是"另一套框架",想跳出它的约定随时可以手写路由。
内容组织
仓库里内容分两个目录:
content/
├── docs/ # 知识库,按主题组织,侧边栏目录树
└── blog/ # 博客文章,按时间组织docs 里的每个顶层文件夹配一个 meta.json,声明标题和图标,"root": true 让它变成顶部标签页——这就是导航上"笔记 / 收录 / 独立开发"三个入口的实现方式。
博客的 frontmatter
---
title: 文章标题
description: 一句话摘要
date: 2026-09-20
tags:
- Next.js
---date 和 tags 是在 lib/source.ts 里扩展 schema 加出来的字段,构建时校验,写错了直接报错而不是静默出问题。
部署
推到 GitHub,Vercel 导入,完事。每次 push 自动构建,.mdx 文件改动也会触发重建。