Jsonnet 与皮肤的关系
什么是 Jsonnet?
Section titled “什么是 Jsonnet?”Jsonnet 是一种基于 JSON 扩展的配置语言,为 JSON 增加了编程能力,例如变量、函数、条件判断等特性。
Jsonnet 与元书的关系
Section titled “Jsonnet 与元书的关系”在元书的皮肤配置中,通常存在大量重复的配置项,例如:字体颜色、工具栏配置、按键样式等。
使用 Jsonnet 可以将这些重复的地方,通过变量和函数等方式,避免重复配置,提高皮肤的开发效率和可维护性。
元书应用中内置了 Jsonnet 编译器。使用 Jsonnet 编写皮肤的工作流程如下:
- 使用 Jsonnet 编写皮肤
- 通过编译器将 Jsonnet 编写的文件编译为元书识别的 YAML 格式文件
- 元书读取编译后的 YAML 皮肤文件
编写皮肤必须使用 Jsonnet 吗?
不是必须的。元书只识别 YAML 格式的皮肤文件。而 Jsonnet 是可选的皮肤开发工具,可以让皮肤的编写和维护更加便捷。
您可以根据自己的需求选择:
- 直接编写 YAML 格式皮肤
- 使用 Jsonnet 编写皮肤,然后编译为 YAML
- 可以使用其他编程语言编写皮肤,只要最终生成符合 YAML 规范的皮肤文件即可
目前已有的元书皮肤,基本都是由 Jsonnet 生成的。
无论是否使用 Jsonnet,最后生成的 YAML 文件才是元书实际使用的皮肤文件。所以理解元书皮肤定义的 YAML 配置参数非常重要。