Skip to content

Jsonnet 与皮肤的关系

Jsonnet 是一种基于 JSON 扩展的配置语言,为 JSON 增加了编程能力,例如变量、函数、条件判断等特性。

在元书的皮肤配置中,通常存在大量重复的配置项,例如:字体颜色、工具栏配置、按键样式等。

使用 Jsonnet 可以将这些重复的地方,通过变量和函数等方式,避免重复配置,提高皮肤的开发效率和可维护性。

元书应用中内置了 Jsonnet 编译器。使用 Jsonnet 编写皮肤的工作流程如下:

  • 使用 Jsonnet 编写皮肤
  • 通过编译器将 Jsonnet 编写的文件编译为元书识别的 YAML 格式文件
  • 元书读取编译后的 YAML 皮肤文件

编写皮肤必须使用 Jsonnet 吗?

不是必须的。元书只识别 YAML 格式的皮肤文件。而 Jsonnet 是可选的皮肤开发工具,可以让皮肤的编写和维护更加便捷。

您可以根据自己的需求选择:

  • 直接编写 YAML 格式皮肤
  • 使用 Jsonnet 编写皮肤,然后编译为 YAML
  • 可以使用其他编程语言编写皮肤,只要最终生成符合 YAML 规范的皮肤文件即可

目前已有的元书皮肤,基本都是由 Jsonnet 生成的。

无论是否使用 Jsonnet,最后生成的 YAML 文件才是元书实际使用的皮肤文件。所以理解元书皮肤定义的 YAML 配置参数非常重要。