theme.json地平线

一种称为主题.jsonWordPress 5.8中引入了允许主题控制块编辑器的各个方面,从预设到设置,再到块的外观。一些很酷的东西这已经可以做到了,但我想简单地解释一下我认为它开始释放的更实质、更有趣的方面:

互动性。样式属性是块属性的一个子类。因此,整个区块宇宙都理解他们这意味着主题作者用来构建主题的规则集可以通过图形界面访问,用户可以与之交互。这对于开放一个过去对用户关闭的区域(或需要一堆特别的从主题开始工作),同时赋予主题控制边界和默认值的能力。

巩固。消除主题上重复声明的开销,特别是支持块特性方面的开销。主题不需要关注结构样式,可以自由使用CSS实现特定的视觉效果、增强和细节。

兼容性。鉴于它说的是方块语言默认情况下与第三方块兼容,前提是这些块使用核心API。这对生态系统来说是一个变革,在那里你不需要担心WooCommerce区块是否适合你的网站设计——它会的。

性能。该框架可以根据使用的内容在前端生成正确的捆绑包。随着区块主题的推出,我们几乎没有触及表面,但改进可能是巨大的。主题不再需要为可能在给定页面上使用或不使用的小部件加载样式而支付罚款。

灵活性。它为混合和合并不同的方块风格食谱打开了大门。例如,您可以将块的定义x个z从一个主题出发并保持来自另一个。您可以在知道没有选择器冲突的情况下完成此操作!这使得传递一系列网站的品牌定义或说“我想让我的网站的按钮看起来像这个主题”而不丢失任何其他定制变得很容易。如果主题切换时需要,也可以保留特定的定制。我们也几乎没有触及到这里可能发生的事情的表面。

视觉奇偶性。不言而喻,但以共享格式表示视觉方面也允许平台确保编辑器和前端,无论其设置如何,都可以同步。对编辑样式表(历史上不准确且难以维护)的需求应该大幅减少或完全消失。

模式。这一点很少被提及,但主题.json将主题样式规范作为结构化指令发送到.org目录是相当简单的,这样您就可以使用主题样式的实际上下文预览和浏览模式!

便携性。设计结构也可以用于主题之外的上下文中-想想本地应用程序、RSS订阅阅读器、电子邮件、代理可以控制广告的外观和感觉等。基本上,网站的外观和感受有一个编码配方,很容易从中提取价值并在不同上下文中使用。

无障碍。通常是初级的工具(如颜色对比)现在可以正确地理解任何值的上下文,因为每个块的嵌套范围是一个可遍历的方面向前地渲染时间。有可能产生更高对比度的口味整个场地自动。与暗模式类似。

管理员。这更奇怪,但也有可能根据当前的网站设计,使用特定的定义自定义wp-admin的外观方面,而无需重复工作或特定的目标。

关于主题的思考

最近,弗拉德·奥拉鲁写道并与我分享了一篇关于主题位置和古腾堡在WordPress中的出现的深思熟虑的文章。在通过电子邮件交流印象的同时,他鼓励我更广泛地分享自己的观点,所以在这里,我忠实于博客上讨论的那些日子。

主题,主要是高级主题,一直是WordPress世界的集成商。

这让我笑了。几年前,我开始了WordPress的主题之旅。我认为这很重要,虽然古腾堡不断发展,为人们提供更好的设计工具,但要从主题作者的角度考虑一下。区块允许用户使用更多的设计工具对主题意味着什么?

事实上,主题基本上是建立页面构建器作为范例的主题,这证明了他们作为“集成者”的角色推动了生态系统的发展,并引导他们实现了WordPress平台没有给予太多关注的东西——通常是以特殊的方式实现的。主题有特权和责任最接近用户以及他们如何体验自己的网站,从而引导开发人员努力克服平台提供的定制体验中的不足。(让你的网站看起来像主题演示的困难是臭名昭著的。)然而,在以多种方式解决这些问题时,往往彼此不兼容,这会产生一种微弱的锁定效果,从长远来看,这种效果会渗透并伤害用户。然后,融合会成为无法逃避的体验的桎梏。

这让我们开始讨论古腾堡的演变如何与主题相互作用。标准化最终交互点(在我们的例子中,街区)并向用户提供所有集成决策(Vlad示例中的主题角色)。这似乎是讨论的重点,值得澄清:通过块、设计工具等提供一致的集成点不应意味着向用户处理设计细节的控制,也不应从主题中删除代理,而是提倡一种表达站点元素的通用方式,以确保一致的定制体验。

很多关于主题的对话都被投进了末日的云端,也许太过热切了,因为他们关注底层基础设施,并认为正在发生的转变(为用户提供更多工具)是一种让每个用户都对自己的网站设计负责的转变。这不应该是现实。主题的作用并没有真正改变。它们仍然意味着提供模板解析器、设计部件、样式及其所有各种布局决策;唯一的区别是,块将位于中心位置,这样,只要编辑器引擎更好地理解它们,就可以更方便地进行定制。反过来,用户将看到一个熟悉的界面,了解其网站外观的各个方面。

也许唯一引入的新概念是图案这些是设计助手,可以更快地实现更困难的布局或漂亮的设计,主题也可以控制和提供自己的设计。它可以像几个块放在一起一样简单,也可以包含页面的更大区域。由于主题是由块组成的,因此可以将其中的一部分与另一部分交换。无论主题是通过标记、CSS和PHP模板构建的,还是通过块、模式、样式和块模板表达的,主题仍有责任以其认为能够更好地提供其可能性和保障的方式来集成、管理、选择和准备体验。这不会消失。如果有什么不同的话,它会变得更现实。

图案旨在将现成的方块设计带给用户。

实际上,古腾堡的普遍共识是,每个人都应该“拥抱并加强用户的掌控”。

我认为这是在印象的海洋中迷失的一种错误描述,而印象是开发游戏中主要成分的日常过程。问题不是要把所有权力和责任都交给用户,而是要吸收共同点,以便更好地培养特殊性。也就是说,构建设计工具,让用户以连贯的方式与主题和块交互,并让主题控制其机制。WordPress应该提供一个熟悉且易于使用的平台,但它也是主题构建者(很快也是模式构建者)、网站创建者等等,这些都是用户经常会体验到的最终解决方案。

可能实现的系统(基于块的主题、块样式系统、设计工具等)不一定要被视为直接针对最终用户,而是针对主题创建者;并将其传递给最终用户。由主题和网站创建者决定应该公开什么以及在什么程度上公开,可能从“绝对没有”到以受控和熟悉的方式公开和锁定体验的某些方面。首要的决定(排版、颜色、设计平衡)应该主要来自主题。

如果新的编辑器成功了,那么这种向最终用户分发整个站点解决方案的非实际打包标准将不复存在。

绝对不是!其目的是提供更好、更受支持的工具,以与整个平台内在兼容的方式建立这些解决方案。这些设计工具的标准化应该有助于我们集成和扩展一个通用系统,但不应意味着从主题上夺走控制权。恰恰相反,大部分工作都是为了确保主题能够对块的几个视觉方面进行全面控制。

更重要的是,一个全球性的样式和布局系统将(最终)供您使用——同样,这一部分很好,另一部分则是认知冻结。WordPress变得越来越强大,这是一种福也是一种祸。

造型系统主要是在主题和不知道块-也就是说,没有在创建时考虑到特定主题的块-以某种方式,平台可以将其识别为外观属性,以便准确地渲染事物,同时允许创建控件,以便在块界面上直观地操作它们。但这是主题最终要监督的东西,就像仪表板中有一个“主题编辑器”并不意味着它应该向每个最终用户公开一样。

其目的是提供一个更好、更集成的引擎来为主题体验提供动力,而不是将其所有内部工作暴露给所有人,或者很容易“破坏设计”。这个范围应该始终由提供最终解决方案的人控制,最终解决方案可以是严格确定的,也可以是开放的,这取决于实际需要。

最后,WordPress包含了大量内容,我们应该设计对所有人都有意义的系统。

珀西·雪莱写了为诗歌辩护诗人是世界上未被承认的立法者。借用这种情绪,让我们希望主题能够成为WordPress世界公认的策展人。

古腾堡的语言

上周末,我在WordCamp Europe演讲的开始,是在解释如何在WordPress编辑体验中逐步引入块的设计选择背后的一些原则。米盖尔·丰塞卡写了一篇很棒的文章,标题是古腾堡的语言根据我们今年早些时候在萨拉戈萨的一次谈话,我们对这个问题进行了更深入的探讨。

世界现状

上周马特给了他的年鉴世界现状在纳什维尔的演讲,反思WordPress的又一年以及该项目的未来。我有机会和他一起在舞台上演示古腾堡。我很高兴在活动期间受到欢迎,并进行了良好的对话。还有很多工作要做,但我为球队迄今取得的成就感到骄傲。