FumaMDX·All in One
所有需要的语法和工具, 都在这儿
Overview
使用方式
- 基于效率的考量, 对于高频使用语法, 一并提供对应的触发关键词, 模板配置
- 语法示例会使用3个Tab标签
- 示例, tab标题为
example
- 源码, tab标题为
source
, 方便直接copy - 触发关键词, tab标题为
@keywords
- 示例, tab标题为
基础 | 高级 |
---|---|
文档头部 | 步骤组 |
提示框 | Mermaid绘图 |
文字处理 | 数学公式 |
卡片组 | 文件层级 |
Tab标签组 | 内部文件引用 |
FAQ问答组 | 接口参数定义 |
文档头部
标题
描述
提示框
这是无标题
的info提示框
info提示框
这是info
提示框, 用于提示信息
warn提示框
这是warn
提示框, 用于警告信息
success提示框
这是success
提示框, 用于成功信息
error提示框
这是error
提示框, 用于错误信息
文字处理
这是3级标题, 使用###
号
这是加粗文字, 高频使用快捷键 ⌃ + ⌥ + B
这是斜体文字, 高频使用快捷键 ⌃ + ⌥ + I
这是删除线文字, 高频使用快捷键 ⌃ + ⌥ + X
这是高亮文字
, 高频使用快捷键 ⌃ + ⌥ + `
- 这是列表项文字,
●
标记- 这是子项行文字,
缩进4个空格(推荐)
|或者一个Tab
- 这是子项行文字,
缩进4个空格(推荐)
|或者一个Tab
- 这是子项行文字,
这是下划线文字
这是黄色背景标记文字
卡片组
卡片参数
Prop | Type | Default |
---|---|---|
href? | string | - |
icon? | ReactNode | - |
description | string | - |
title | string | - |
Tab标签组
简单模式
这是Tab1
安装包模式
npm install clerk@clerk-next
FAQ问答组
标题式步骤组
- 上文FAQ问答示例就是一个简单的步骤组演示, 只不过它在目录中隐藏了步骤标题
弃用FumaDocs的Step组件
FumaDocs提供的remarkSteps
插件, 支持标题式步骤组, 这更符合人类习惯
所以, 本项目从代码层面弃用Step
组件, 强力支持标题式步骤组的写法
标题式步骤组规则
- 不支持步骤组嵌套, 因为FumaDocs底层暂不支持, 重写代价大, 并且从DDaaS角度, 如果需要步骤组嵌套, 说明文档不够简练、不容易懂
- 命名规则规则:
###
(强烈推荐固定写法) +空格
+步骤编号数字≤19
+英文.
+至少1个空格
+标题名称
, 例如:### 1. 三级标题的步骤1
- 不满足规则的, 会自动降级为普通标题; 步骤编号也由文档指定,
TOC底层解析不会自动递增编号, 正文渲染会自动递增
, 便于发现更改错误 - 多个步骤组之间用不同层级的普通标题分隔开来, 例如: h2、h4的标题
Mermaid绘图
数学公式
文件层级
这是普通文件.tsx
这是锁定文件.txt
继承父目录的置灰文件1.tsx
继承父目录的置灰文件2.txt
内部文件引用
import { getRequestConfig } from 'next-intl/server';
import { appConfig } from "@/lib/appConfig";
import type { I18nConfig } from 'fumadocs-core/i18n';
export const i18n: I18nConfig = {
defaultLanguage: appConfig.i18n.defaultLocale,
languages: appConfig.i18n.locales as unknown as string[],
}
// Can be imported from a shared config
const locales = appConfig.i18n.locales;
export default getRequestConfig(async ({ requestLocale }) => {
let locale = await requestLocale;
// Ensure that the incoming locale is valid
if ( !locale || !locales.includes(locale as (typeof locales)[number])) {
locale = appConfig.i18n.defaultLocale;
}
return {
locale,
messages: (await import(`../messages/${locale}.json`)).default
};
});
Written by
Fuma Nama
At
Fri May 23 2025