【问题标题】:Pandoc: Template with YAML metadataPandoc:带有 YAML 元数据的模板
【发布时间】:2014-10-21 09:38:10
【问题描述】:

我使用 pandoc 生成带有 YAML 元数据的 index.html。我知道从 pandoc 模板迭代关联数组:

YAML

- Author: Mastropiero
- Author: Gunter Fraggen

模板

$for(author)$
  $author$
$endfor$

但是...如何迭代列表没有键

YAML

- Author:
  - [Value1, Value2]
  - [Value1B, Value2B]

模板

$for(author)$
  ... // how works?
$endfor$

【问题讨论】:

    标签: arrays templates yaml pandoc


    【解决方案1】:

    正如您的模板所示,pandoc 在循环中创建了一个与数组同名的局部变量(在您的情况下为“作者”)。因此,要遍历内部列表,只需对内部变量使用相同的“for”机制。

    因此,您应该使用

    模板

    $for(author)$
       $for(author)$
          $author$
       $endfor$
    $endfor
    

    您还可以使用 $sep$ 指定要在列表元素之间使用的分隔符。

    请注意,如果内部列表包含具有不同含义的元素(而不仅仅是列表),那么您应该使用字典列表。

    YAML

    Author:
      - {name: Iain Banks, book: The Algebraist}
      - {name: Isaac Asimov, book: Foundation} 
    

    模板

    $for(author)$
        $author.name$ wrote $author.book$
    $endfor$
    

    【讨论】:

    • 非常有帮助!你能举个例子说明如何指定`$sep$`吗?
    • 只需在循环中添加$sep$separatorseparator 例如可以是 `\\`。
    猜你喜欢
    • 2022-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多