是否可以从没有Haskell过滤器的markdown文件中提取Pandoc的元数据(title,date等),或解析--to=json
输出?
JSON输出特别不方便,因为双字标题看起来像:
$ pandoc -t json posts/test.md | jq '.meta | .title'
{
"t": "MetaInlines",
"c": [
{
"t": "Str",
"c": "Test"
},
{
"t": "Space"
},
{
"t": "Str",
"c": "post"
}
]
}
所以即使在jq阅读标题之后,我们仍然需要重建单词,任何重点,代码或其他任何东西只会使它变得更复杂。
答案 0 :(得分:3)
我们可以使用template variable $meta-json$
。
将变量粘贴到一个文件中(带有扩展名,以阻止Pandoc查看它自己的目录),然后将其与pandoc --template=file.ext
一起使用。
Pandoc的输出是一个JSON对象,其中包含键"title"
,"date"
,"tags"
等,以及来自降价文档的各自值,我们可以轻松地对其进行解析,过滤和操作与jq。
$ echo "\$meta-json\$" > /tmp/metadata.pandoc-tpl
$ pandoc --template=/tmp/metadata.pandoc-tpl | jq '.title,.tags'
"The Title"
[
"a tag",
"another tag"
]