arrays - Pandoc:具有YAML元数据的模板

标签 arrays templates yaml pandoc

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

YAML :

- Author: Mastropiero
- Author: Gunter Fraggen

TEMPLATE :
$for(author)$
  $author$
$endfor$

但是...如何在没有 key 的情况下迭代列表呢?

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

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

最佳答案

如您的模板所示,pandoc在循环中创建一个与数组同名的本地变量(在本例中为'author')。因此,要遍历内部列表,只需对内部变量使用相同的“for”机制。

因此,您应该使用

TEMPLATE

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

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

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

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

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

关于arrays - Pandoc:具有YAML元数据的模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26483499/

相关文章:

c++ - 偏函数模板特化

templates - Moodle 编辑模板

amazon-web-services - Cloudformation 中的循环依赖

javascript - 显示数组中的下一张和上一张图像并使用 Javascript 显示

javascript - 从数组(例如字符串)中获取对象数组

c++ - 将节点数组传递给函数并返回节点数组

python - Numpy 3d 数组索引

c++ - 确保 typename 类型是 Derived of Base

go - 读取文件中的多个 yaml

java - 如何使用 Java 从 Yaml 文件中读取列表映射