古腾堡

Avatar of Chris Coyier
Chris Coyier

DigitalOcean 为您旅程的每个阶段提供云产品。 立即开始使用 200 美元的免费信用额度!

我最近才了解到关于古腾堡的新闻,古腾堡是 WordPress 编辑器改版的名称。 你现在就可以使用它,因为它最初 作为插件构建,最终将成为核心的一部分。 仓库 有更详细的信息。

在我看来,这是 WordPress 历史上对 WordPress 编辑器最重大的改变。 它也似乎与这里特别相关,因为 我们刚刚讨论了内容块 以及不同的 CMS 如何处理它们。 这正是古腾堡的本质:一个内容块编辑器。

内容区域不再是美化的文本区域(可能是对 WordPress 最有效的批评之一),而是成为你想要放置的任何不同“块”的包装器。 块包括标题、文本、列表和图像等。 它们也可以是更复杂的元素,例如画廊和嵌入内容。 重要的是,块是可以扩展的,实际上可以是任何东西。 就像一个 [短代码],我想。

来自 Brian Jackson 的 深入了解新的古腾堡 WordPress 编辑器 的一些图像有助于说明这一点

与任何重大的软件更改一样,它也存在争议(甚至 两极分化)。 我收到一封电子邮件,有人实际上是在提醒我注意它。

共识是,这次 UI 升级要么可以将 WP 推向未来,要么会疏远数百万 WP 网站所有者并摧毁 WordPress。

我倾向于认为 WordPress 太大了,不可能消失,所以应该是前者。

我也认为,将块类型组合在一起对于 CMS 来说是一个通用而明智的抽象。 古腾堡似乎正在以健康的方式处理它。 块只是用特殊格式的 <!– wp:core/text –> <!– /wp:core/text –> 包裹起来以指定一个块,这样内容高度兼容。 没有古腾堡的 WordPress 网站不会遇到任何问题,也不会将其移植到其他地方。

此外,内容仍然在模板中被视为 一个大块

为了确保我们保持 WordPress 优势的关键组成部分完好无损,内容的真实来源应该保留在 post_content 中,因为大部分帖子数据需要以可访问和可移植的方式存在。

因此,无论你在编辑器中如何构建它,它都存储在数据库中作为一个块,并用一个命令在模板中输出。 这可能使它在模板方面比你想要的 *不那么* 灵活,但这将此更改缩小到一个可接受的水平,并且仍然非常 WordPress 化。

似乎很多争议都源于 *谁动了我的奶酪* 的情绪,或者它目前支持什么以及不支持什么。 我对此并不太在意,因为人们往往会很快找到奶酪,而且这仍然处于似乎正在进行 积极开发 的阶段。

一个主要的担忧是自定义元框。 Joost de Valk

事实是,如果你现在测试古腾堡,你会发现 Yoast SEO 根本不在页面上。 此外,你可能使用的所有其他插件,例如 Advanced Custom Fields 或 CMB2,也都没有。 所有这些插件都使用所谓的元框,即当前编辑器下方和侧面的框。

古腾堡团队正在考虑更改元框,这在我们看来是一个很大的错误。 这意味着一旦古腾堡发布,许多、许多插件将无法正常工作。 大量的自定义集成将停止工作。 数十万个小时的开发时间将不得不至少部分地重新进行。 所有这些都是为了大多数网站,当前的编辑器工作正常。

这听起来确实很重要。 我想知道逐步采用古腾堡会是多么容易。 例如,为标准帖子和页面启用它,同时为你更有可能需要自定义元框的自定义帖子类型禁用它(或者类似的组合)。

在这个网站上,我大量使用自定义元框(即使只是传统的自定义字段),以及在编辑器中使用我自己的 HTML,所以古腾堡不会是我可以立即跳跃使用的。 这让我想知道是否会一直存在“经典”编辑器,或者新编辑器在某个特定版本发布时会成为强制性的。

更多争议来自 React 许可问题。 基本上是这样的

  1. Matt Mullenweg:我们将 从 React 切换(古腾堡使用它)因为许可问题。
  2. React:你们都错了,但是 我们放弃了。 现在是 MIT 许可证了。
  3. Matt Mullenweg:很好,但现在谈论的是允许人们使用 他们想要的任何新的 JavaScript 库

我从未听说过“框架无关”的块渲染,但显然,这是一个东西。 或者可能不是? Omar Reiss

有了新的古腾堡编辑器,我们正在改变 WordPress 管理员的构建方式。 现在我们使用 PHP 渲染界面,我们将开始使用 JavaScript 在客户端渲染越来越多的内容。 在编辑器之后,这很可能成为大部分管理员的现实。 这意味着如果你想与管理员界面集成,你将不得不与渲染界面的 JavaScript 集成。 如果 WordPress 选择 Vue,你将不得不提供 WordPress Vue 组件来渲染。 如果 WordPress 选择 React,你将不得不提供 WordPress React 组件来渲染。 这些东西不兼容。 React 不会渲染 Vue 组件,反之亦然。 没有库可以同时完成这两项工作。 如果 WordPress 使用特定的框架,每个人都必须开始使用该框架才能集成。

这是一个棘手的问题。 在 React 许可证更改之前,我敢打赌五美分 他们会选择 Vue。 之后,我怀疑他们会坚持使用 React。 他们自己的 Calypso 全部都是 React,除了古腾堡已经存在的内容之外,所以这似乎是一个延续的优势。

这将是一个有趣的技术故事,值得关注! 像 Post Status 这样的网站可能会比我更 密切关注它