3.5 其它元数据语言

3.5 其它元数据语言 #

YAML也具有与Markdown相同的权衡: 严格规范且保持人类可读性。 这种权衡伴随着解析器的复杂性和可能不容易理解的奇怪的边缘情况。 由于它的受欢迎程度和易于可读性,我们在本书中选择了YAML作为配置文件。 除了YAML之外,Hugo还支持TOML和JSON作为其它元数据语言。 附录B详细介绍了TOML和JSON,表3.2提供了它们功能的快速比较。

Table 3.2 元数据语言比较

Table3.2

  • TOML (Tom’s Obvious Minimal Language) 的目标是确保有一种编写特定数据项的标准方法。 YAML对数据类型的自动猜测使其更易于阅读,但可能会导致YAML推断出错误的类型。 例如,纯文本是一个字符串,但是如果纯文本是单词true,则它将成为布尔值。 TOML避免了与严格定义的系统的混淆,在该系统中,我们必须将每个字符串括在引号中。
  • JSON (JavaScript Object Notation) 是一种用于交换信息的流行格式,并且比YAML和TOML更容易生成和机器解析。 JSON最大的优势是可以在大多数编程语言中使用高性能解析器,并且开发人员熟悉这种格式。 图形编辑器和CMS解决方案通常使用JSON进行Hugo交互。
NOTE 你将找到大量TOML格式的来自Hugo社区的资源。 TOML由于其非严格的间距策略,因此更易于复制和粘贴。 如果你碰巧要编写一个解析器,TOML将更容易解析。 对于高级Hugo用户来说,TOML是一门很好的语言。