这篇文章用于测试博客系统对各种富媒体内容的支持能力。
Table of contents
Open Table of contents
1. 视频嵌入
YouTube 视频
Bilibili 视频
2. 社交媒体嵌入
Twitter/X 推文
hello world
— Elon Musk (@elonmusk)
June 27, 2022
3. CodePen 嵌入
4. 数学公式
行内公式
著名的质能方程:,其中 是能量, 是质量, 是光速。
块级公式
欧拉公式:
二次方程求根公式:
高斯积分:
5. 表格
| 功能 | 支持情况 | 备注 |
|---|---|---|
| Markdown 基础语法 | ✅ | 标题、列表、链接等 |
| 代码高亮 | ✅ | Shiki 支持多种语言 |
| 数学公式 | ✅ | KaTeX 渲染 |
| 视频嵌入 | ✅ | iframe 方式 |
| React 组件 | ✅ | 需要 MDX |
6. 引用块
任何足够先进的技术都与魔法无异。
— 阿瑟·克拉克
嵌套引用:
第一层引用
第二层嵌套引用
第三层嵌套引用
7. 折叠内容
点击展开查看更多内容
这里是折叠的内容。可以放置一些不需要立即展示的详细信息。
def hello():
print("Hello from collapsed content!")另一个折叠块 - 常见问题
Q: 为什么要使用 MDX?
A: MDX 允许在 Markdown 中使用 JSX 组件,提供更丰富的交互能力。
Q: 性能会受影响吗?
A: 静态生成时会预渲染,客户端 hydration 只发生在需要交互的组件上。
8. 代码块增强
带文件名的代码块
export function greet(name: string): string {
return `Hello, ${name}!`;
}
代码高亮行
function example() {
const a = 1;
const b = 2;
const c = 3;
return a + b + c;
}
代码差异对比
function calculate(x, y) {
return x + y;
return x * y;
}
9. React 交互组件
下面是一个简单的计数器组件,用于测试 React 在 MDX 中的集成:
Count: 0
点击按钮试试!这个组件是用 React 编写的,在客户端进行 hydration 后可以交互。
10. 任务列表
- 安装 MDX 支持
- 配置 React 集成
- 添加数学公式支持
- 优化移动端显示
- 添加更多组件
小结
如果你能看到以上所有内容正常渲染,说明博客系统已经具备了丰富的内容展示能力:
- 视频嵌入 - YouTube、Bilibili
- 社交媒体 - Twitter 推文
- 代码演示 - CodePen
- 数学公式 - KaTeX
- 交互组件 - React
- Markdown 增强 - 表格、折叠、任务列表