跳转到导航
2-3 分钟阅读
作者:John Otander

注意:这是一篇旧的博客文章。 ZEIT 现在是 Vercel。 不再需要 "@mdx pragma"。 以下内容为历史目的而保留原样。

MDX 正式发布

距离第一次 MDX 提交已经一年半了,距离 MDX 在 ZEIT Day 上首次公布也一年了。 MDX 是对如何使用组件编写沉浸式内容的一次激进范式转变。 它是一种开放的、可创作的格式, 让写作再次变得有趣

自从公布 MDX 以来,我们一直在进行大量的 bug 修复、新功能开发、 更好的解析和集成测试。 现在,我们认为它已经准备好了。 我们很高兴终于发布 v1!

🎉 有什么新内容?

以下是我们所做工作的简要概述:

解析

MDX 文档解析有了显著改进。 我们不会在这里深入细节,但我们看到了 MDX 在实际项目中的使用方式, 将遇到的边缘情况整合到测试套件中,现在更直观地处理 JSX、 import 和 export。 如果你发现我们没有覆盖的情况,请提交 issue!😸

remark-mdx

remark-mdx 是 remark 中 MDX 的语法扩展。 它作为 remark 插件提供 MDX 的解析功能。 这听起来有点元。 它的意思是,以前语法解析部分在库内部(无法从外部使用), 现在它被外部化了(可以从外部使用)。 如果你想检查或转换 MDX 文档,这很有用。 例如,它允许 prettier 等工具使用与 MDX 核心完全相同的解析器。 或者你可以将 remark-mdxremark-lint 结合使用来检查你的 MDX。

自定义 pragma

在 v1 中,我们不再使用 MDXTag,而是使用包裹 React.createElement 的自定义 pragma。 我们决定更新这种方法,使 JSX 输出更易读、 更轻量、更可定制。 这意味着 MDX 可以与任何 React、Vue、Preact 或任何其他支持 JSX 的库一起使用

特别感谢 @christopherbiscardi 实现了这个功能。

阅读博客文章

📚 文档

好的库需要好的文档,所以我们一直在添加内容并 改进整体文档网站体验。

特别感谢 @jxnblk@wooorm 帮助改进文档和 更新构建工具。

破坏性变更

为了进行一些改进,我们不得不引入一些破坏性变更。 这些是实际生产测试和反馈的结果。 社区在发展,在过去一年中我们想出了更新、更好的主意。 我们确保影响很小,并编写了完整的迁移指南。

  • 🚨@mdx-js/tag@mdx-js/react@mdx pragma 取代 — 迁移指南
  • MDXProvider 现在在嵌套时合并组件上下文 — 迁移指南
  • React 支持现在要求 @mdx-js/react>= 16.8迁移指南

阅读完整的 v1 迁移指南

废弃

我们只需要引入一个废弃。 mdPluginshastPlugins 选项分别被重命名为 remarkPluginsrehypePlugins。 目前,当使用旧选项时会发出警告。 在 v2 中,旧选项将被移除。

📈 增长

每次主要发布都是退后一步反思增长和更大社区发展的好时机。 围绕 MDX 的生态系统已经增长到超出我们梦想的规模。 我们还看到了我们从未想象过的项目/产品/应用。

数据

  • 下载量:每周 125,000 次,总计 240 万次
  • Stars:6,200
  • 贡献者:50
  • Pull requests:281
  • 提交:670

贡献者的增长是这里最重要的方面之一,因为我们有众多 熟悉 MDX 内部原理的社区成员。 这使我们能够持续改进项目,并在不断增长的贡献者团队中分担工作。

查看贡献者图表

生态系统

🛣 路线图

v1 发布后,我们制定了一个路线图,除了 bug 修复和可能遇到的 解析问题外,我们将在接下来的 6 个月左右继续努力。

Vue 支持

支持 Vue 是 MDX 的一个重要目标,也是我们重新架构 MDX 以使用 自定义 pragma 的主要原因之一。 我们很高兴我们现在有一个可用的 Vue alpha 版本。 我们希望 Vue 社区的任何人都能尝试一下并提供反馈。

查看 Vue 示例

Blocks 项目

编写 MDX 文档的一个关键缺失方面是编辑体验。 目前,除非你喜欢在文本编辑器中编写原始 Markdown/代码, 否则没有一种易于上手的方式来编写 MDX。 我们想解决这个问题,并已经开始开发一个 MDX "blocks 编辑器", 它是一个以内容为中心的 WYSIWYG。 不仅如此,我们将尽一切努力确保编辑器从一开始就尽可能地无障碍。

当我们准备好 beta 版本时,我们会将其开源并公布,敬请期待。

查看 Blocks 项目

unified 集体

MDX 是 unified 集体的一部分,这是一个处理多种内容来源的 开源生态系统。 unified 项目在整个网络中被使用,如果没有我们优秀的赞助商的 财务支持,这一切都不可能实现。

🙏 致谢

我们要感谢所有的贡献者和开心的用户。 特别感谢 @wooorm, @silvenon, @timneutkens, @ChristopherBiscardi, @jxnblk, @alexandernanberg, @jescalan, @Jarred-Sumner, @leimonio, @ticky, @jamesknelson, @pshrmn, @rauchg, @joelhooks, @jlengstorf, @johnlindquist, @kyleamathews, @kentcdodds, @wesbos, @rosew, @pedronauck, @tayiorbeii, @nickbender, @ntaylor89, @mxstbr, @manovotny, @xyc, @filoxo, @millette, @hugmanrique, @johnsherrard, @sw-yx, 以及任何我们可能遗漏的人。

MDX 用 ❤️ 在阿姆斯特丹、博伊西和全球各地打造
本站不会跟踪你。
MIT © 2017-2026
项目在 GitHub
网站在 GitHub
更新订阅 RSS
赞助 OpenCollective