54

我正在尝试在 Jekyll 中实现一个服务目录,其中 20 或 30 页中的每一页都将包含一个 7x2 表。左列将包含标签,例如概述、可用到等,而右列将包含一行和几段文本之间的标签。我希望用 Liquid 变量来描述右列,例如 {overview}、{availableTo}

我注意到 YAML 似乎对换行非常挑剔,因此我不得不在一行上输入这些段落和它们的标记,这可以持续几个屏幕宽度。这是一个问题,因为它很烦人,还因为我希望这些前端事项可由技术但非 webdev 用户编辑。有没有办法让前面的事情容忍休息?

或者,有没有一种方法可以用 {content} 部分填充此表,而不必每次都将表重新编码到其中?

4

1 回答 1

88

多行字符串的 Yaml 语法是这样的

body: |
  This is a multi-line string.
  "special" metacharacters may
  appear here. The extent of this string is
  indicated by indentation. 

请注意,第一行必须是空格,后跟|字符和新行。然后,您必须将文本比其父级缩进一级。

因此,您可以通过以下方式创建一个项目:

item1:
  overview: |
    overview text
    more overview text
  available_to: 2012-01-01
  foo: |
    foo text
    more foo text

在我看来,您还想按顺序排列物品。您可以为此使用 yaml 列表:

catalog:
  - id: item 1
    overview: |
      overview text
      more overview text
    available_to: 2012-01-01
    foo: |
      foo text
      more foo text
    ...
  - id: item2
    overview: <similar to above>

我希望这有帮助!

于 2011-07-19T16:51:34.817 回答