本博客支持 @astrojs/mdx 集成,已在 astro.config.mjs 配置文件中安装和配置。如果你不想使用 MDX,可以从配置文件中删除该集成来禁用支持。
为什么使用 MDX?
MDX 是 Markdown 的特殊变体,支持嵌入 JavaScript 和 JSX 语法。这使你能够将 JavaScript 和 UI 组件混合到 Markdown 内容中,用于创建交互式图表或提示等功能。
如果你有使用 MDX 编写的现有内容,这个集成将帮助你轻松迁移到 Astro。
示例
下面是一个简单的交互式按钮示例:
代码高亮
MDX 支持代码高亮:
interface User {
name: string;
email: string;
role: 'admin' | 'user';
}
function greet(user: User): string {
return `Hello, ${user.name}!`;
}
更多链接
- MDX 语法文档
- Astro 使用文档
- 注意: 要创建交互式组件,仍需要使用客户端指令。否则,MDX 中的所有组件默认将渲染为静态 HTML(无 JavaScript)。