web3baseweb3base

如何在 MDX 内容中嵌入 YouTube 视频和 Twitter/X 帖子

嵌入(YouTube 和 Twitter)

文章支持通过 MDX 组件嵌入 YouTube 和 Twitter/X。

YouTube

方法 1:视频 ID

<YouTubeEmbed id="dQw4w9WgXcQ" title="可选的视频标题" />

方法 2:完整 URL(自动提取 ID)

<YouTubeEmbed id="https://www.youtube.com/watch?v=dQw4w9WgXcQ" />

支持的 URL 格式:

  • https://www.youtube.com/watch?v=VIDEO_ID
  • https://youtu.be/VIDEO_ID
  • https://www.youtube.com/embed/VIDEO_ID
  • 或直接使用视频 ID:VIDEO_ID

属性:

  • id(必需):YouTube 视频 ID 或完整 URL
  • title(可选):用于无障碍访问的视频标题;默认:"YouTube video player"
  • width(可选):宽度;默认:100%
  • height(可选):高度;默认:auto(16:9)

示例:

## 视频演示

<YouTubeEmbed id="dQw4w9WgXcQ" title="Go 并发实践" />

Twitter/X

使用方法:

<TwitterEmbed url="https://twitter.com/username/status/1234567890" align="center" />

属性:

  • url(必需):完整推文 URL(支持 twitter.comx.com
  • align(可选):left | center | right;默认:center

示例:

<TwitterEmbed url="https://twitter.com/golang/status/1234567890" align="center" />

实现说明

  • 组件: src/components/embeds/YouTubeEmbed.tsxsrc/components/embeds/TwitterEmbed.tsx
  • MDX:src/libs/mdx-config.tsx 中注册,因此可在任何 MDX 文件中使用
  • 样式: 响应式,YouTube 为 16:9,支持暗色模式
  • 性能: YouTube 使用 loading="lazy";Twitter 脚本按需加载