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

时间:2015-12-16 14:43:22

标签: 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 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. 

预期的渲染是:

  

您好!

     

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 repreptderit 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。

然而,实际上,这样做是这样的:

  

您好! 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 repreptderit 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?或者,我是否需要为每个段落创建一个单独的密钥?

1 个答案:

答案 0 :(得分:1)

根据documentation of YAML ruby implementation,您可以像这样使用它:

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" 
} 

采取的示例from here