【发布时间】:2019-05-05 07:01:59
【问题描述】:
我正在阅读 pandoc 手册,如果我理解正确,它支持使用模板文件和包含要在模板中使用的变量的 YAML 文件。 它还说 YAML 支持任意对象(甚至列表)。但是,我想问是否可以使用 YAML 数据在模板中呈现降价表。 这些示例仅显示了一个简单的键和值映射。
编辑: 我创建了一个包含这个的 testable.md 文件
---
table:
caption: Cities
headers: [city, population]
rows:
- [Berlin, '3,748,148']
- [Tokyo, '13,839,910']
---
$table$
**Random Text**
并使用此命令来使用 tarleb 提供的过滤器:
pandoc -f markdown -t docx --lua-filter=yaml_table.lua -o target.docx testtable.md
但是,输出文件似乎仍然不包含该表。 我错过了什么吗?
编辑: 我意识到模板文件的指定与输入不同 当我将 testtable.md 设置为仅包含以下内容时,它可以正常工作:
---
table:
caption: Cities
headers: [city, population]
rows:
- [Berlin, '3,748,148']
- [Tokyo, '13,839,910']
---
并创建了一个名为 markdowntmpl.md 的模板文件,其中包含以下内容
$table$
**Random Text**
然后我使用了以下命令:
pandoc -f markdown -t markdown --template=markdowntemplate.md --lua-filter=yaml_table.lua -o target.md testtable.md
输出:
city population
-------- ------------
Berlin 3,748,148
Tokyo 13,839,910
: Cities
**Random Text**
然后我可以继续用它创建一个 docx 文档。
【问题讨论】:
-
如果你能找到 YAML 支持的数据类型,它包含表格数据,那么你应该能够使用该数据来构建表格。但我不知道有任何 YAML 支持的数据类型。