有没有办法从YAML多行键呈现新段落?

有没有办法从YAML多行键呈现新段落?,yaml,Yaml,我有一个YAML密钥设置如下: en: info: | Hello! Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliqu

我有一个YAML密钥设置如下:

en:
  info: |
    Hello!

    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. 

    Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. 
预期渲染为:

你好!

知识是一种美德,是一种美德,是一种美德,是一种美德。但是,在最低限度上,我们需要一个实验室来进行日常工作

两人或两人在一个无教区的房间里互相指责。除偶尔因疏忽而死亡外,不得因疏忽而导致动物死亡

然而,在现实中,情况是这样的:

你好!!知识是一种美德,是一种美德,是一种美德,是一种美德。但是,在最低限度上,我们需要一个实验室来进行日常工作。两人或两人在一个无教区的房间里互相指责。除偶尔因疏忽而死亡外,不得因疏忽而导致动物死亡

所以,我的问题是:YAML是否有可能按照我希望的方式呈现?或者,我需要为每个段落创建单独的键吗?

根据,您可以这样使用它:

clipped: |
    This has one newline.



same as "clipped" above: "This has one newline.\n"

stripped: |-
    This has no newline.



same as "stripped" above: "This has no newline."

kept: |+
    This has four newlines.



same as "kept" above: "This has four newlines.\n\n\n\n"
它将产生:

{  
  'clipped' => "This has one newline.\n", 
  'same as "clipped" above' => "This has one newline.\n", 
  'stripped' => 'This has no newline.', 
  'same as "stripped" above' => 'This has no newline.', 
  'kept' => "This has four newlines.\n\n\n\n", 
  'same as "kept" above' => "This has four newlines.\n\n\n\n" 
} 

示例。

您使用的是什么语言/解析器?根据规范,您所拥有的(使用
)是正确的,当我使用Ruby(使用Psych解析器)进行测试时,结果就是您的预期结果。正如@matt所指出的,
将保留换行符。我怀疑真正的问题是您将结果直接插入到HTML文档中,而默认情况下,HTML中的空白是折叠的。如果是这样的话,这不是YAML的问题。@Jordan你是对的。这不是一个YAML问题,空白被HTML压缩了。我正在使用Jekyll和液体模板语言。因此,为了获得预期的渲染效果,我只需在液体标记上使用
markdownify
过滤器。看见