我有一个新的最喜欢的 WordPress 开发相关插件:Theme YAML。 Sascha Paukner 仅在一天前发布了它,它可能很快就会在许多主题开发人员的工具箱中占有一席之地。它允许用户以 JSON YAML 格式编写主题。

要使用,主题作者只需创建一个新的 theme.yaml 文件并开始以人性化的 YAML 格式添加他们的自定义配置。该插件会将其转换为 JSON 并将其保存在 theme.json 文件中。

作为一个经常直接用JSON写代码的人,很高兴在我的代码编辑器中看到如下内容:

太美了。

我只是希望我首先想到了这个插件的想法。在使用其他系统并将数据转换为 PHP 和 JSON 时,我经常使用 YAML 文件。我一看到插件说明就想通了。

在处理配置文件时,JSON 并不是最容易编写的格式,也就是 theme.json 文件。它适用于跨语言数据存储,但有时在打开 JSON 文件进行输入时我会畏缩,尤其是当它有 100 或 1000 行时。此外,您不能留下内联评论来提醒您自己或其他人您为何做出特定决定或配置设置。

YAML 更好吗?它有其优点和缺点,根据我的经验,对于外行来说,部分语法可能会变得复杂。但是,仅支持内联注释是值得的。

此插件的文档充其量只是简陋的。它没有说明它是如何在引擎盖下工作的。我有个问题。有转换设置吗?是自动的吗?每次页面加载都会发生吗?

我在引擎盖下达到了顶峰,因此您不必这样做。加载页面时,插件会自动在活动主题的根文件夹中搜索 theme.yaml 文件。如果找到,它会检查其最后修改时间并将该值存储在数据库中。如果有新的修改,插件会解析theme.yaml,将其转换成JSON,写入到theme.json文件中。

如果活动主题是子主题,它也会自动为其父主题运行此过程。

这个插件的缺点是它使生成的 JSON 缩小并且难以阅读。当您手头有 theme.yaml 文件时,这没问题。然而,这个“构建”文件通常是主题作者在提交到 WordPress.org 主题目录时不会捆绑在他们的主题 ZIP 中的东西。

我坚信发送的代码对于收到副本的任何人都是可读和可编辑的。主题作者有几个选项可以做到这一点。他们可以同时发布 theme.json 和 theme.yaml 文件,或者更改插件主文件中的以下代码:

$themeJson = json_encode($themeObject, JSON_UNESCAPED_SLASHES);

我们只需在 json_encode() 函数中打开 JSON_PRETTY_PRINT 标志即可:

$themeJson = json_encode($themeObject, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT);

希望插件开发者以后考虑这一点versions 更改,或允许主题作者对其进行过滤。

对于回避 theme.json 的主题作者,还有其他解决方案。过去,我将我的 JSON 拆分为跨多个文件的可管理块。然后,我使用一个 webpack 插件在我的监视/构建过程中合并它们。

我向那些喜欢 YAML 但想与他们的构建系统集成的人推荐 JS YAML Parser 或类似的包。

点赞

加载中...

资源