我使用pandoc生成带有YAML元数据的index.html。我知道来自pandoc模板的迭代关联数组:
YAML :
- Author: Mastropiero
- Author: Gunter Fraggen
TEMPLATE :
$for(author)$
$author$
$endfor$
但是......如何迭代列表没有键?
YAML :
- Author:
- [Value1, Value2]
- [Value1B, Value2B]
TEMPLATE :
$for(author)$
... // how works?
$endfor$
答案 0 :(得分:14)
正如您的模板所示,在一个循环中,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$