有没有办法在YAML中创建一个多行标量,以保留所有行的前导空格?
例如,本文:
* apples
* oranges
* lemons
故意用空格开始每一行。如果我想要完全具备上述内容怎么办?
字符串(即" * apples\n * oranges\n * lemons"
在YAML文档中的某处定义?是否可以不丢失空格和
以一种最易读的方式?
使用|
的常用方法不起作用,因为它会在星号前删除空格:
data:
maybe_a_bulleted_list: |
* apples
* oranges
* lemons
但是如果我可以说下一个块缩进了四个空格而不是五个(减去之前已经知道的缩进),那几乎就是我所需要的。
有没有办法通过优雅的YAML实现这一目标?
背景:我正在尝试创建一个人工可编辑的文件,其中包含最终将转换为HTML的一小部分自由文本。我想使用Markdown,但由于这些部分只是简单(非)有序列表,我正在考虑支持Markdown和TracWiki。问题是TracWiki格式要正常工作,需要每个项目符号列表项以空格开头(否则多行项目不能正确折叠)。
答案 0 :(得分:6)
您应该查看Block Chomping Indicator规范。
在您的情况下,它将如下所示:
data:
maybe_a_bulleted_list: |4+
* apples
* oranges
* lemons